replace的运用

replace() 方法用于在字符串中用一些字符替换另一些字符, 或替换一个与正则表达式匹配的子串。

语法:

stringObject.replace(regexp / substr, replacement);

参数: regexp / substr, 可以是RegExp对象, 也可以是一个字符串;

    replacement, 要替换的字符串;

这两个参数都是必填的;

说明: 符串 stringObject 的 replace() 方法执行的是查找并替换的操作。 它将在 stringObject 中查找与 regexp 相匹配的子字符串, 然后用 replacement 来替换这些子串。 如果 regexp 具有全局标志 g,

那么 replace() 方法将替换所有匹配的子串。 否则, 它只替换第一个匹配子串;

replacement 可以是字符串, 也可以是函数。 如果它是字符串, 那么每个匹配都将由字符串替换。 但是 replacement 中的 $ 字符具有特定的含义。 如下表所示, 它说明从模式匹配得到的字符串将用于替换

 

例1:var str = "hello Jhon!"

  

console.log(str.replace(/Jhon/, "LiLei"))

 //hello LiLei!

例2: var str = "Excuse me!May I ask some questions!"

  
console.log(str.replace(/s/g, "x"))

 

 //Excuxe me!May I axk xome quextionx! g是全局匹配符号,如果没有g,那么只会匹配第一个符合条件的字符串,Excuxe me!May I ask some questions!

例3: var str = '"a", "b"

str.replace(/"([^"]*)"/g, "'$1'");
// "'a', 'b'"

 

例4: var str = 'aaa bbb ccc';  
strs = str.replace(/\b\w+\b/g, function(word) {
return word.substring(0, 1).toUpperCase() + word.substring(1)
});

 

(说明:\ b 匹配一个单词边界, 也就是指单词和空格间的位置( 即正则表达式的“ 匹配” 有两种概念, 一种是匹配字符, 一种是匹配位置, 这里的\ b就是匹配位置的)。

例如,“ er\ b” 可以匹配“ never” 中的“ er”, 但不能匹配“ verb” 中的“ er”。 \ B 匹配非单词边界。“ er\ B” 能匹配“ verb” 中的“ er”, 但不能匹配“ never” 中的“ er”。

 \ w 匹配包括下划线的任何单词字符。 类似但不等价于“[A - Za - z0 - 9 _]”, 这里的 "单词"。字符使用Unicode字符集。+ 匹配1或多个正好在它之前的那个字符。)

 

// "Aaa Bbb Ccc"

posted @ 2016-09-01 17:30  萧了个晓  阅读(288)  评论(0编辑  收藏  举报