Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/407.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
关闭和打开标记之间的Javascript正则表达式替换_Javascript_Regex_Tags_Replace - Fatal编程技术网

关闭和打开标记之间的Javascript正则表达式替换

关闭和打开标记之间的Javascript正则表达式替换,javascript,regex,tags,replace,Javascript,Regex,Tags,Replace,我意识到这一定是一个非常简单的正则表达式,但似乎无法解决。我只需要在字符串中搜索以下内容: </p><p> /<\/p><p/g 并在它们之间添加一个逗号,如下所示: </p>,<p> , 忽略这一事实,它不是很好的html,但它对我来说是有意义的 我试过这个,但似乎不起作用: str.replace(/<\/p><p>/g, "</p>,<p>"); str.repl

我意识到这一定是一个非常简单的正则表达式,但似乎无法解决。我只需要在字符串中搜索以下内容:

</p><p>
/<\/p><p/g

并在它们之间添加一个逗号,如下所示:

</p>,<p>
忽略这一事实,它不是很好的html,但它对我来说是有意义的

我试过这个,但似乎不起作用:

str.replace(/<\/p><p>/g, "</p>,<p>");
str.replace(//g,“

,”);
有什么想法吗?谢谢:)

这对我很有用:

alert("Some </p><p> to replace".replace(/<\/p><p>/g, "</p>,<p>"));
警报(“一些要替换的”)。替换(//g,

,);
您的代码工作正常:

我试过这个,但似乎不起作用:

str.replace(/<\/p><p>/g, "</p>,<p>");
str.replace(//g,“

,”)

返回一个带有结果的新字符串,它不会修改调用它的字符串。这就是:

    str = str.replace(/<\/p><p>/g, "</p>,<p>");
//  ^^^^^^
str=str.replace(//g,

,); // ^^^^^^
javascript中的字符串是不可变的。也就是说,不能修改字符串中的内容。因此,当使用
replace
方法时,它不能替换内容,而只是返回一个包含新内容的新字符串。您需要将新字符串存储在所需变量中

比如说,

str = str.replace(/<\/p><p>/g, "</p>,<p>");
str=str.replace(//g,

,);

带有
alert
的答案将起作用,因为新字符串将传递给
alert
函数。字符串本身未被修改。

我的错。它确实有效。我忘记了每个p标签中都有ID,所以只需搜索以下内容:

</p><p>
/<\/p><p/g

/

”。替换(//g,

,”);//=>“

,”
在Chrome12中运行良好。你在使用哪个Javascript平台?你说得对。是我的错。我的字符串实际上在标记中有ID,所以只需要搜索/@WastedSpace,这就是为什么不应该用regex解析HTML~@浪费:你不妨把它作为一个答案贴出来,然后接受它。只要它没有一个被接受的答案,这个Q/A就会不时地被“社区”伪用户重新激活。