语法:
string.replace(regexp,replacement)
参数:
regexp:声明了要替换的模式的RegExp对象。如果该参数是一个字符串,则将它作为要检索的直接量文本模式,而不是首先被转换成RegExp对象。replacement:一个字符串,声明的是替换文本或生成替换文本的函数。
返回值:
一个新字符串,是用replacemenc替换了与regexp的第一次匹配或所有匹配之后得到的。
描述:
字符串string的方法replace()执行的是查找并替换的操作。它将在string中查找与regexp相匹配的子串,然后用replacement替换这些子串。如果regexp具有全局性质g,那么replace()将替换所有的匹配子串。否则,它只替换第一个匹配子串。
示例:
直接替换字符串:"javascript".replace("a","A"); //返回jAvascript,只替换第一个a
根据正则表达式替换:"javascript".replace(/a/,"A");//返回jAvascript,也是只替换第一个a,但是如果给正则表达式加一个全局属性g,则可以替换所有a ,如"javascript".replace(/a/g,"A"),返回jAvAscript,全部替换。
真题示例:
阿里巴巴2016校园招聘Web前端笔试题:如果一个字符串中有多处空格,且每处空格一个或多个,将每处的多个空格全部变成一个空格,如下所示:
将字符串 a空格空格b空格c空格空格空格空格def空格空格g(a b c def g)转换成(a b c def g)。
代码如下:
1 var removeSpace = function(str){ 2 return str.replace(/\s+/g," "); 3 } 4 var str = "a b c def g"; 5 console.log(removeSpace(str)); //输出a b c def g
如果对正则表达式不清楚或有疑问,请参阅我的另一片博客http://www.cnblogs.com/yxz-turing/p/4785071.html