js 字符串替换replace()详解

来源:互联网 发布:网络骰宝赌博 编辑:程序博客网 时间:2024/05/16 05:41


1. replace()方法:替换字符串

JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符,如:例1. 而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志),如:例2。 

例:1

<script language="javascript">var stringObj="我是一名大学生,大学生";//替换错别字“大学生”为“医生”//并返回替换后的新字符//原字符串stringObj的值没有改变var newstr=stringObj.replace("大学生","医生"); alert(newstr);</script>

例1只会替换掉字符中的第一个’大学生‘,而第二个并没有被替换,下面例2,将改成用正则的方法,即可全部替换。

例:2 两种写法都可以

<script language="javascript">//创建正则RegExp对象var reg=new RegExp("大学生","g"); var stringObj="我是一名大学生,大学生。";var newstr=stringObj.replace(reg,"医生"); //或者这种写法://var newstr=stringObj.replace(/\大学生/g,"医生"); alert(newstr);</script>



还有就是查找某些字体,呈现不同的效果,比如改变颜色等等的方法:

<script language="javascript">    var s=prompt("请输入在查找的字符","大");    var reg=new RegExp("("+s+")","g");    var str="我是一名大学生,大学生!";    var newstr=str.replace(reg,"<font color=red>$1</font>");    document.write(newstr);    </script> 

到这里那么有一个问题来了,如果我们想要替换指定位置的字符串是怎么实现的呢,这里我封装了一个方法:

<script language="javascript">    function transform(str, begin, end, char) {  var fstStr = str.substring(0, begin);  var lstStr = str.substring(end, str.length);  return fstStr + char + lstStr;}   </script> 


这里一共有4个参数,str,要替换的字符串,begin替换起始位置,end替换结束位置,char替代查找到的字符串,

注意:end位置的字符是会保留的,因为substring()方法截取字符串包括开始位置的,单不包括结束位置的。

详情请见我的另一篇详解:

http://blog.csdn.net/u012964143/article/details/44154471

   









0 0
原创粉丝点击