您的位置:首页 > Web前端 > JavaScript

javascript的 replace() 方法的使用讲解

2016-05-05 10:43 696 查看

String.prototype.replace()

The [code]replace()
method returns a new string with some or all matches of a
pattern
replaced by a
replacement
.
The
pattern
can be a string or a
RegExp
, and the
replacement
can be a string or a function to be called for each match.
语法:
  str.replace(regexp|substr, newSubStr|function[, flags])

[/code]

Parameters

regexp (pattern)
A
RegExp
object or literal. The match is replaced by the return value of parameter #2.
substr (pattern)
A
String
that is to be replaced by
newSubStr
. It is treated as a verbatim string and is notinterpreted as a regular expression.
newSubStr (replacement)
The
String
that replaces the substring received from parameter #1. A number of special replacement patterns are supported; see the "Specifying a string as a parameter" section below.
function (replacement)
A function to be invoked to create the new substring (to put in place of the substring received from parameter #1). The arguments supplied to this function are described in the "Specifying a function as a parameter" section below.例子:例1:

var str = 'Twas the night before Xmas...';
var newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr);  // Twas the night before Christmas...


例2:

var re = /apples/gi;
var str = 'Apples are round, and apples are juicy.';
var newstr = str.replace(re, 'oranges');
console.log(newstr);  // oranges are round, and oranges are juicy.


例3:

var re = /(\w+)\s(\w+)/;
var str = 'John Smith';
var newstr = str.replace(re, '$2, $1');
console.log(newstr);  // Smith, Joh


例4:

function styleHyphenFormat(propertyName) {
function upperToHyphenLower(match) {
return '-' + match.toLowerCase();
}
return propertyName.replace(/[A-Z]/g, upperToHyphenLower);
}


例5:

function replacer(match, p1, p2, p3, offset, string) {
// p1 is nondigits, p2 digits, and p3 non-alphanumerics
console.log(arguments);
return [p1, p2, p3].join(' - ');
}
var newString = 'abc12345#$*%aaa'.replace(/([^\d]*)(\d*)([^\w]*)/, replacer);


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: