Action Script 3.0替换多行String中的所有匹配项

时间:2013-09-03 06:58:27

标签: regex actionscript-3

我有一些文字:

1. Lorem &laquo;ipsum&raquo; dolor sit amet, consectetur<br/>
2. adipisicing &laquo;elit&raquo;, sed do eiusmod tempor<br/>
3. incididunt ut &laquo;labore&raquo; et dolore magna aliqua.<br/>

我想将所有“&amp;laquo;”替换为“&amp;#171;”,将所有“&amp;raquo;”替换为“&amp;#187;”。

仅在第一行替换:

txt.replace(new RegExp("&amp;laquo;","gi"),"&amp;#171;").replace(new RegExp("&amp;raquo;", "gi"),"&amp;#187;");

其他行仍未更改。

我做错了什么?

2 个答案:

答案 0 :(得分:8)

让你的正则表达式“多线”:

new RegExp("&amp;laquo;","gim")

答案 1 :(得分:1)

使用此

txt.split( "&amp;laquo;" ).join( "&amp;#171;" ).split( "&amp;raquo;" ).join( "&amp;#187;" );

split将您的字符串分解为由参数中的文本连接的片段数组。 连接将碎片粘合回一个字符串,并在每个部分之间插入参数:D

请注意,每个方法都会创建一个数组(片段)或一个字符串(粘合在一起的片段),所以你应该做txt = txt.split(...