linux对字符串进行替换,使用正则表达式替换字符串的方法(replace方法)

正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串、将匹配的子串替换或者从某个串中取出符合某个条件的子串等。

9d7f67110696cbdf8cd0a55e80f0f07e.png

语法

str.replace(regexp|substr, newSubStr|function)

参数

regexp(pattern)

一个RegExp对象或者其字面量。该正则所匹配的内容会被第二个参数的返回值替换掉。

substr(pattern)

一个要被 newSubStr 替换的{{jsxref("String","字符串")}}。其被视为一整个字符串,而不是一个正则表达式。仅仅是第一个匹配会被替换。

newSubStr (replacement)

用于替换掉第一个参数在原字符串中的匹配部分的 {{jsxref("String", "字符串")}}

function (replacement)

一个用来创建新子字符串的函数,该函数的返回值将替换掉第一个参数匹配到的结果。

返回值

一个部分或全部匹配由替代模式所取代的新的字符串。

描述

上面语法的含义是说:一共两个参数,但是两个参数可以分别传输不同的类型的值。

可能你看上面BB半天了也没看明白,没关系,我们直接来上代码:

用法

1. 基本用法

var x = "abcda";

//两个参数都是字符串

var y = x.replace('a','x');//'xbcda'

1. 进阶用法

var x = "abcda";

//前面参数使用正则,后面使用字符串

var y = x.replace(/a/g,'x');//'xbcdx'

1. 复杂用法

var x = 'abcda';

//前面参数使用正则,后面使用字符串

var y = x.replace(/a/g,function(match){

return match.toUpperCase();

});//'AbcdA'

应用场景

这里只讲复杂用法中的应用场景实际使用,比如有个需求:你需要html文件中的标签之间的所有标签中的字符a替换为字符b。当然如果是正则大神的话就可以跳过这里了,主要以下方式比较容易理解,更适合正则新手。

解决方法:

var allData = "

"+'\r\n'+

"

aaa
"+'\r\n'+

"

aaa

"+'\r\n'+

"";

allData = allData.replace(/\([\s\S]*?)\/g, function(match) {

return match.replace(/\

(.*?)\/g, function(match1) {

return match1.replace(/a/g, "b")

})

});

PS:在进行全局的搜索替换时,正则表达式需包含 g 标志。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值