我想把一个字符串 str = "hello, my name is \"michael\", what's your's?"
转换成 "hello, my name is <span class="name">michael</span>
我应该如何在javascript中实现呢?我知道如何使用 str.replace()
,但是我如何获取所选内容/替换后的内容呢。
谢谢!!!
我想把一个字符串 str = "hello, my name is \"michael\", what's your's?"
转换成 "hello, my name is <span class="name">michael</span>
我应该如何在javascript中实现呢?我知道如何使用 str.replace()
,但是我如何获取所选内容/替换后的内容呢。
谢谢!!!
str = "hello, my name is \"michael\", my friend's is \"bob\". what's yours?";
str.replace(/"([^"]+)"/g, '<span class="name">$1</span>');
输出:
hello, my name is <span class="name">michael</span>, my friend's is <span class="name">bob</span>. what's your's?
虽然@davin的答案是正确的,但我想你还需要处理双引号实例。
var str = "hello, my name is \"michael\", what's your's? Is is \"James\" or is it blank:\"\"";
在这里,用 *
取代 +
即可:
/"([^"]*)"/g
虽然你可以通过简单的第一次解析搜索和替换来完全丢弃它:
str.replace(/""/,"")
()
包含的内容。在这种情况下:[^"]+
== 1 或多个非"
被包含在""
中。 - Jacob Eggers