我一直无法制作一个将“_”改为“”的正则表达式。例如下面的字符串:
<h2><a href=?ref=ref_url&?title=title_name_unoriginal>7s6s**title_name_unoriginal**7s6s<h2>
我想更改已加星标的文字,以便下划线变为空格。我添加了7s6s
,以便我可以在正则表达式中识别该区域:
/7s6s[a-zA-Z0-9_]+7s6s/
所以我想知道是否有人知道如何将title_name_unoriginal
更改为title name unoriginal
。注意:在我不想改变之前有一个title_name_unoriginal
。同样对于正则表达式,下划线的数量可以是0-100s。所以它也可能是title_name_un_ori_ginal
。
答案 0 :(得分:1)
str.replace(/7s6s.+7s6s/g,function($0){return $0.replace(/_/g," ")})
它正在做的很简单;首先它需要所有以7s6s开头和结尾的文本(正则表达式:7s6s。+ 7s6s),然后因为函数替换接受一个函数作为第二个参数来执行替换,我们可以进行替换在选定的文本上。在这种情况下,只是另一个正则表达式将“_”替换为“”
答案 1 :(得分:0)
在最后一个“/”之后,添加“g”。
如果希望正则表达式在找到匹配项后继续,则需要使用“全局”修饰符。
答案 2 :(得分:0)
您可以只使用替换吗?
var linktext = document.getElementById('foo').innerHTML;
linktext.replace("_", " ");