js replace 全部替换

本文介绍了JavaScript中字符串replace方法的使用技巧,重点讲解了如何通过正则表达式的全局匹配('g'标志)来实现字符串中所有目标子串的替换,而非仅限于首次出现。

answer1=answer1.replace(new RegExp(';', 'g'),';'); //将填空的分割符“;” 替换成统一的“;”(全部替换,此处的‘g’参数表示全部替换)

 解析:

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 
而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志)。 

所以可以用以下几种方式.:
string.replace(/reallyDo/g, replaceWith);
string.replace(new RegExp(reallyDo, 'g'), replaceWith);

string:字符串表达式包含要替代的子字符串。
reallyDo:被搜索的子字符串。
replaceWith:用于替换的子字符串。


转自:http://blog.sina.com.cn/s/blog_5ffd143b0100hvrz.html

### 使用 `replace` 方法配合正则表达式 在 JavaScript 中,`String.prototype.replace()` 方法用于在一个字符串中搜索指定模式并将其替换为新的子串或通过函数计算的结果。当第一个参数是一个正则表达式时,可以实现更复杂的匹配逻辑。 下面展示了一个简单的例子来说明如何利用正则表达式执行替换操作: ```javascript const str = "The rain in SPAIN stays mainly in the plain"; // 将所有的大写字母转换成小写,并在其前后加上括号 const result = str.replace(/[A-Z]/g, match => '(' + match.toLowerCase() + ')'); console.log(result); ``` 上述代码片段会输出 `"The r(a)in (i)n (s)p(ain) st(a)ys m(a)inely (i)n (t)he pl(a)in"`[^2]。这里使用了全局标志 (`g`) 来确保所有符合条件的地方都被处理到;而回调函数允许动态决定每一个匹配项应该如何被替代。 对于更加复杂的需求,比如只替换特定位置上的字符组合或者应用条件性的变化,则可以根据具体需求调整正则表达式的定义以及可能使用的替换模板或回调函数。 #### 替换特定模式的例子 假设有一个场景是要把日期格式从 `YYYY-MM-DD` 转换成 `DD/MM/YYYY` 的形式,可以通过如下方式完成: ```javascript function convertDateFormat(dateStr) { return dateStr.replace(/(\d{4})-(\d{2})-(\d{2})/, '$3/$2/$1'); } convertDateFormat('2023-09-15'); // 返回 "15/09/2023" ``` 在这个例子中,捕获组 `( )` 和反向引用 `$n` (其中 n 是捕获组编号)一起工作,使得原始字符串中的不同部分能够按照新顺序重新排列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值