ActionScript编程  替换匹配的字符串
作用:
使用正则表达式结合replace()方法,替换字符串中符合正则表达式要求的子字符串。
说明:
在之前的章节中,已经介绍过通过字符串实例的replace()方法对字符串中部分字符进行替换。replace()方法除了以字符串替换字符串外,还可以通过正则表达式对字符串进行替换。
replace()方法带有两个参数,分别为查的字符串或正则表达式,以及替换之后的字符串、函数或正则表达式。以正则表达式作为replace()方法的参数,可以实现很多强大的功能。
正则匹配数字之前的字符示例:
使用正则表达式对字符串进行替换可以使代码更加简练,也可以省去许多麻烦。例如,将替换1段包含各种注释符号的古文种所有注释的括号和括号中的数字删除,如下所示。
var txt:String="十年(1)春,齐师(2)伐(3)我。公(4)将战,曹刿(5)请见。其乡人曰:“肉食者(6)谋之,又何间(7)焉?”刿曰:“肉食者鄙(8),未能远谋。”乃(9)入见。问:“何以战(10)?”公曰:“衣食所安,弗敢专也(11),必以分人(12)。”对曰:“小惠未(13),民弗从也。”公曰:“牺牲玉帛(14),弗敢加(15)也,必以信(16)。”对曰:“小信未孚(17),神弗福(18)也。”公曰:“小大之狱(19),虽不(20)能察(21),必以情(22)。”对曰:“忠之属也(23)。可以一战(24)。战则请从(25)。”"
在上面这段文本中,共包含25个注释符号。如使用字符串来替换,需要编写25行代码对其进行替换;或根据这些注释符号的规律,使用循环语句替换。
以上两种方式都非常烦琐。事实上,使用正则表达式才是最简便的方法。首先,编写匹配这些注释符号的正则表达式,如下所示。
var txtRegExp:RegExp=/\(\d{1,2}\)/g;
然后,对字符串使用replace()方法,然后即可将替换后得到的文本重新赋给字符串,并输出结果,如下所示。
place(txtRegExp,"");
trace(txt);//输出结果:十年春,齐师伐我……一战。战则请从。”
使用replace()方法替换匹配字符串时,并不会改变原字符串的内容。因此需要将replace()方法返回的结果再次赋予原字符串。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。