JS正则替换指定字符
javaScript如何替换字符
定义和⽤法
replace() ⽅法⽤于在字符串中⽤⼀些字符替换另⼀些字符,或替换⼀个与正则表达式匹配的⼦串。
语法
参数描述
regexp必需。规定了要替换的模式的 RegExp 对象。请注意,如果该值是⼀个字符串,则将它作为要检索的直接量⽂本模式,⽽不是⾸先被转换为 RegExp 对象。
replacement必需。⼀个字符串值。规定了替换⽂本或⽣成替换⽂本的函数。
返回值
⼀个新的字符串,是⽤ replacement 替换了 regexp 的第⼀次匹配或所有匹配之后得到的。
说明
字符串 stringObject 的 replace() ⽅法执⾏的是查并替换的操作。它将在 stringObject 中查与 regexp 相匹配的⼦字符串,然后⽤replacement 来替换这些⼦串。如果 regexp 具有全局标志 g,那么 replace() ⽅法将替换所有匹配的⼦串。否则,它只替换第⼀个匹配⼦串。
replacement 可以是字符串,也可以是函数。如果它是字符串,那么没有匹配都将由字符串替换。但是 replacement 中的 $ 字符具有特定的含义。如下表所⽰,它说明从模式匹配得到的字符串将⽤于替换。
字符替换⽂本
$1、$2、...、$99与 regexp 中的第 1 到第 99 个⼦表达式相匹配的⽂本。
$&与 regexp 相匹配的⼦串。
$`位于匹配⼦串左侧的⽂本。
$'位于匹配⼦串右侧的⽂本。
%直接量符号。
注意:ECMAScript v3 规定,replace() ⽅法的参数 replacement 可以是函数⽽不是字符串。在这种情况下,每个匹配都调⽤该函数,它返回的字符串将作为替换⽂本使⽤。该函数的第⼀个参数是匹配模式的字符串。接下来的参数是与模式中的⼦表达式匹配的字符串,可以有 0 个或多个这样的参数。接下来的参数是⼀个整数,声明了匹配在 stringObject 中出现的位置。最后⼀个参数是 stringObject 本⾝。
实例
例⼦ 1
在本例中,我们将使⽤ "W3School" 替换字符串中的 "Microsoft":
<script type="text/javascript">
var str="Visit Microsoft!"
document.place(/Microsoft/, "W3School"))
</script>
输出:
Visit W3School!
例⼦ 2
在本例中,我们将执⾏⼀次全局替换,每当 "Microsoft" 被到,它就被替换为 "W3School":
<script type="text/javascript">
var str="Welcome to Microsoft! "
str=str + "We are proud to announce that Microsoft has "
str=str + "one of the largest Web Developers sites in the world."
document.place(/Microsoft/g, "W3School"))
</script>
输出:
Welcome to W3School! We are proud to announce that W3School
has one of the largest Web Developers sites in the world.
例⼦ 3
您可以使⽤本例提供的代码来确保匹配字符串⼤写字符的正确:text = "javascript Tutorial";
例⼦ 4
在本例中,我们将把 "Doe, John" 转换为 "John Doe" 的形式:name = "Doe, John";
例⼦ 5
在本例中,我们将把所有的花引号替换为直引号:
name = '"a", "b"';
例⼦ 6
在本例中,我们将把字符串中所有单词的⾸字母都转换为⼤写:name = 'aaa bbb ccc';
place(/\b\w+\b/g, function(word){
return word.substring(0,1).toUpperCase()+word.substring(1);}
);
例⼦ 7
var str="fsaf$a$assdfdasfa$a$dsfadsf";
var strr='\$'+'a'+'\$';regex匹配
var name = '"a", "b"';
var reger=new RegExp("[\$]a[\$]","gm");
place(reger,'555888'));
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论