用javascript 正则表达式 如何将 a b c 三个字符替换为 <b>a</b> <b>b</b> (

  • 主题发起人 主题发起人 A&nbsp;delphi
  • 开始时间 开始时间
A

A&nbsp;delphi

Unregistered / Unconfirmed
GUEST, unregistred user!
用javascript 正则表达式 如何将 a b c 三个字符替换为 &lt;b&gt;a&lt;/b&gt; &lt;b&gt;b&lt;/b&gt; ( 积分: 100 )<br />用javascript 正则表达式 如何将 a b c 三个字符替换为 &lt;b&gt;a&lt;/b&gt; &lt;b&gt;b&lt;/b&gt; &lt;b&gt;c&lt;/b&gt;
我用 s.replace(/(a)/gi,&quot;&lt;b style=''background-color:red;''&gt;$1&lt;//b&gt;&quot;);';
我用 s = s.replace(/(b)/gi,&quot;&lt;b style=''background-color:red;''&gt;$1&lt;//b&gt;&quot;);';
我用 s = s.replace(/(c)/gi,&quot;&lt;b style=''background-color:red;''&gt;$1&lt;//b&gt;&quot;);';
结果 前面被替换的又被重复替换了 , 多个字符如何同时替换,
有时 a b c可能为 其他 test window color 等多个词
 
相同的字符先转义。。。如&lt;b style=''background-color:red;''&gt;$1&lt;//b&gt;中包含b你可以把所有这种先换成&lt;&amp;b style=''background-color:red;''&gt;$1&lt;//&amp;b&gt;
然后在最后一次替换这种转义字符
 
哈哈,多谢,搞定:
t1 := '';
t2 := '';
for I := 0 to KeyList.Count -1 do
begin
Key := KeyList;
if Trim(Key) &lt;&gt; '' then
begin
temp := Format('/(-_-/)%d', );
t1 := t1+'s = s.replace(/('+Key+')/gi,&quot;'+temp+'&quot;);';
t2 := t2+'s = s.replace(/('+temp+')/gi,&quot;&lt;b style=''background-color:red;''&gt;'+Key+'&lt;//b&gt;&quot;);';
//break;
end;
end;

s := s + t1 + t2; // 转义就行
 
后退
顶部