replace:
js中的replace方法如果直接使用比如:
str.replace("-","!");//把文本中的-符号替换成!
但你会发现上面这条语句只会替换第一个符合条件的。如果你想全部替换了请使用如下的表达式:
str.replace(/\-/g,"!");
这是利用了正则表达式。g的意思是全局。
replaceAll:
js中没有replaceAll,可以自己利用replace去实现的。
比如你可以在自己的js脚本库中去这样实现
1.这种效率比较低一些,相对于第二种来说:
1 String.prototype.replaceAll=function(find_text,replace_text){ 2 return this.replace(new RegExp(find_text,"g"),replace_text); 3 };
g表名是 全部替换的意思。
调用的示例:
str.replaceAll("$","!");
2.这种相对于第一种效率比较低点,利用indexOf来实现:
1 function replaceAll(source_text,find_text,replace_text){ 2 var i = 0; 3 while(source_text.indexOf(find_text,i) != -1){ 4 source_text = source_text.replace(find_text,replace_text); 5 i = source_text.indexOf(find_text,i); 6 } 7 return source_text; 8 }
indexOf(find_text,index)的意思是在文本中查找find_text的存在位置,如果不存在就返回-1。