当前位置: > > > AS3 - 解决replace()方法只能替换第一个字符,字符串的问题

AS3 - 解决replace()方法只能替换第一个字符,字符串的问题

问题描述:Flex/Flash中字符串有replace()方法,可以方便的替换字符串,比如我想把一个字符串里的":"都替换成"_"
var fileName:String = "18:18:20";
fileName = fileName.replace(":","_");
结果会发现结果是"18_18:20",即只有第一个匹配的字符被替换了。而AS3里面有没有replaceAll()这个方法。

解决办法1:replace()方法使用正则表达式替换
var fileName:String = "18:18:20";
//正则表达式中设置了 g(全局)标志,表示替换全部
fileName = fileName.replace(/:/g,"_");

解决办法2:使用split()把字符串拆分成数组,再用join()拼接会字符串
var fileName:String = "18:18:20";
fileName = fileName.split(":").join("_");
评论1
  • 1楼
    2016-01-20 08:29
    初心者

    好,很受用

    站长回复

    ^_^