可用性JavaScript 1.2; JScript 3.0; ECMAScript v3 语法string.replace(regexp, replacement) 参数
返回值一个新字符串,是用replacemenc替换了与regexp的第一次匹配或所有匹配之后得到的。 描述字符串string的方法replace()执行的是查找并替换的操作。它将在string中查找与regexp相匹配的子串,然后用replacement替换这些子串。如果regexp具有全局性质g,那么replace()将替换所有的匹配子串。否则,它只替换第一个匹配子串。 replacement可能是字符串或函数。如果它是一个字符串,那么每个匹配都将由字符 串替换。但replacement中的$字符具有特殊的含义。如下表所示,它说明从模式匹配得到的字符串将用于替换。
ECMAScript v3规定,replace()方法的参数replacement可以是函数而不是字符串,JavaScipt 1.2和JScript 5.5实现了这一特性。在这种情况下,每个匹配都调用该函数,它返回的字符串将作为替换文本使用。该函数的第一个参数是匹配模式的字 符串。接下来的参数是与模式中的子表达式匹配的字符串,可以有0个或多个这样的参数。接下来参数是一个整数,声明了匹配在string中出现的位置。最后一个参数是string自身。 示例要确保单词“JavaScript'’中的大写字符是正确的,可用下列代码: text.replace(/javascript/i, "JavaScript"); 要将名字“Doe,John”转换成“JohnDoe”的形式,可用下列代码: name.replace(/(\w+)\s*,\s*(\w+)/, "$2 $1"); 用花引号替换直引号,可用下列代码: text.replace(/"([^"]*)"/g, "``$1''"); 使字符串中所有单词的第一个字母都是大写的,可用下列代码: text.replace(/\b\w+\b/g, function(word) { return word.substring(0,1).toUpperCase( ) + word.substring(1); }); 参阅RegExp, RegExp.exec( ), RegExp.test( ), String.match( ), String.search( ) |