String.replace( ) 简介
语法:
string.replace(regexp, replacement)
regexp :您要执行替换操作的正则表达式,如果传入的是一个字符串,那就会当作普通字符来处理,并且只会执行一次替换操作;如果是正则表达式,并且带有 global (g) 修饰符,则会替换所有出现的目标字符,否则,将只执行一次替换操作。
replacement :您要替换成的字符。
最简单的实例
代码如下 | 复制代码 |
var str="Visit Microsoft!"; |
返回值是执行替换操作后的字符串。
String.replace( ) 的简单用法
代码如下 | 复制代码 |
var str="Visit Microsoft!";
|
String.replace( ) 替换所有出现的目标字符
var text= "javascript 非常强大 !JAVASCRIPT 是我最喜欢的一门语言 !";
代码如下 | 复制代码 |
text.replace(/javascript/ig, "JavaScript"); // 返回: |
JavaScript 非常强大 !JavaScript 是我最喜欢的一门语言 !
String.replace( ) 实现调换位置
代码如下 | 复制代码 |
var name= "Doe, John"; |
String.replace( ) 实现将所有双引号包含的字符替换成中括号包含的字符
代码如下 | 复制代码 |
var text = '"JavaScript" 非常强大!'; text.replace(/"([^"]*)"/g, "[$1]"); // 返回:[JavaScript] 非常强大! |
String.replace( ) 将所有字符首字母大写
代码如下 | 复制代码 |
var text = 'a journey of a thousand miles begins with single step.'; text.replace(/bw+b/g, function(word) { return word.substring(0,1).toUpperCase( ) + word.substring(1); }); |
// 返回:A Journey Of A Thousand Miles Begins With Single Step.
javascript中replace() 方法如果直接用str.replace("apples","oranges") 只会替换第一个匹配的字符。
使用 /g 替换所有匹配的字符, /i 忽略大小写
代码如下 | 复制代码 |
This prints "oranges are round, and oranges are juicy." |
javascript的String类内置函数replace(regexp, newString)函数提供了字符串替换功能,从函数原型上可以看出支持 Regular Exp。此函数功能非常实用,但也有几个地方有点混淆,下面通过实际的例子来说明:
比如我们现在要针对串
代码如下 | 复制代码 |
var src="xxx" |
要替换其中的HTML双引号的转移符 " 为实际的 " , 正常我们就会直接调用 src.replace(/"/g, '"');来达到目的,但是js容易让人迷惑的一点就是,这样做并没有实际改变src的值,实际测试发现返回值才是我们需要的结果,而src本身确不发生变化,所以实际中需要通过如下来完成我们的功能:
代码如下 | 复制代码 |
src=src.replace(/"/g, '"'); |