我意识到这必须是一个非常容易的正则表达式,但似乎无法解决它。我只需要搜索一个字符串:
</p><p>
并在它们之间添加一个逗号,如下所示:
</p>,<p>
忽略它不是很好的html,但它对我来说很有意义!
我尝试了这个,但似乎没有用:
str.replace(/<\/p><p>/g, "</p>,<p>");
有什么想法吗?谢谢:))
答案 0 :(得分:2)
我尝试了这个,但似乎没有用:
str.replace(/<\/p><p>/g, "</p>,<p>");
replace
返回带有结果的新字符串,它不会修改您调用它的字符串。那就是:
str = str.replace(/<\/p><p>/g, "</p>,<p>");
// ^^^^^^
答案 1 :(得分:0)
这对我有用:
alert("Some </p><p> to replace".replace(/<\/p><p>/g, "</p>,<p>"));
答案 2 :(得分:0)
您的代码运行正常:http://jsfiddle.net/eBkhR/
答案 3 :(得分:0)
javascript中的字符串是不可变的。也就是说,不能修改字符串中的内容。因此,使用replace
方法时,它无法替换内容,但只返回带有新内容的新字符串。您需要将新字符串存储在必需的变量中。
例如,
str = str.replace(/<\/p><p>/g, "</p>,<p>");
alert
的答案将起作用,因为新字符串已传递给alert
函数。字符串本身未被修改。
答案 4 :(得分:0)
我的错。它确实有效。我忘了每个p标签都有id,所以只需要搜索一下:
/<\/p><p/g
感谢所有的回复!