Js替换字符串的几种方法
替换字符串中的文本是 JavaScript 中的常见任务。本文研究几种用 replace 和正则表达式替换文本的方法。
替换单个字串
通常 JavaScript 的 String replace() 函数只会替换它在字符串中找到的第一个匹配的子符:
const myMessage = 'this is the sentence to end all sentences';
const newMessage = myMessage.replace('sentence', 'message');
console.log(newMessage); // this is the message to end all sentences
在这个例子中,仅替换了第一个 sentence 字串。
替换多个子串
如果希望 JavaScript 能够替换所有子串,必须通过 /g 运算符使用正则表达式:
const myMessage = 'this is the sentence to end all sentences';
const newMessage = myMessage.replace(/sentence/g, 'message');
console.log(newMessage); // this is the message to end all messages
这一次次两个子串都会被替换。
除了使用内联 /g 之外,还可以使用 RegExp 对象的构造函数:
const myMessage = 'this is the sentence to end all sentences';
const newMessage = myMessage.replace(new RegExp('sentence', 'g'), 'message');
console.log(newMessage); // this is the message to end all messages```
替换特殊字符
要替换特殊字符,例如 -/\\^$*+?.()|[]{}),需要使用反斜杠对其转义。
如果给定字符串 this\\-is\\-my\\-url,要求把所有转义的减号( \\-)替换为未转义的减号(-)。
可以用 replace() 做到:
const myUrl = 'this\-is\-my\-url';
const newUrl = myMessage.replace(/\\-/g, '-');
console.log(newUrl); // this-is-my-url
或者用new Regexp():
const myUrl = 'this\-is\-my\-url';
const newUrl = myUrl.replace(new RegExp('\-', 'g'), '-');
console.log(newUrl); // this-is-my-url
在第二个例子中不必用反斜杠来转义反斜杠。
Js替换字符串的几种方法相关推荐
- JS截取字符串的三种方法详解
本文详细讲解了JS截取字符串的三种方法,文中通过示例代码介绍的非常详细.对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下 JS提供三个截取字符串的方法,分别是:slice(),subst ...
- JS截取字符串(3种方法)
String 定义了 3 个字符串截取的原型方法,说明如表所示. String 类型的截取字符串方法 字符串方法 说明 slice() 抽取一个子串 substr() 抽取一个子串 substring ...
- bat替换文件中的字符串_JavaScript 中替换字符串的几种方法
// 每日前端夜话 第418篇// 正文共:700 字// 预计阅读时间:5 分钟 替换字符串中的文本是 JavaScript 开发中的常见任务.本文研究几种用 replace 和正则表达式替换文本的 ...
- java js 截取字符串,js截取字符串的三种方法
JS提供三个截取字符串的方法,分别是:slice(),substring()和substr(),它们都可以接受一个或两个参数: var stmp = "rcinn.cn";使用一个 ...
- linux shell 替换字符串的几种方法,变量替换${},sed,awk
变量a是一个带空格的字符串,现在用"hdpusr400"替换变量a中的"hduser302": [liusiyi@localhost ~]$ echo $a - ...
- shell 替换字符串的几种方法,变量替换${},sed,awk
变量a是一个带空格的字符串,现在用"hdpusr400"替换变量a中的"hduser302": 1 [liusiyi@localhost ~]$ echo $a ...
- linux替换变量字符串,linux shell 替换字符串的几种方法,变量替换${},sed,awk
变量a是一个带空格的字符串,现在用"hdpusr400"替换变量a中的"hduser302": [liusiyi@localhost ~]$ echo $a - ...
- js截取字符串的三种方法
substring() 方法 substr() 方法 slice() 方法 1.substring() 方法,substirng(from,to)方法从from位置截取到to位置,to可选,没有设置时 ...
- js 截取字符串的三种方法
方法1:substring() 方法 string.substring(from, to) 方法从 from 位置截取到 to 位置,to 可选,没有设置时默认到末尾. <!DOCTYPE ht ...
最新文章
- git revert 用法
- 第一夜 主公说啥俺做啥
- cuda编程python接口_混合编程[python+cpp+cuda]
- java list 区别_Java中List和ArrayList的区别
- 【原创】rabbitmq-echopid用户手册(翻译)
- JQuery的父、子、兄弟节点查找,节点的子节点循环
- 2021年浏阳市五中高考成绩查询,浏阳市2021年“三考”增加考生万余名
- HTTP代理怎样使用
- java exchange类,JAVA5---Exchange使用
- 自定义桌面图标!制作属于自己的个性化桌面吧(=^x^=)
- 林子雨大数据技术原理与运用期末复习
- 数字功放-耐福NTP功放芯片详细性能概述
- pythonQQ机器人系列:使用requests实现QQ机器人聊天(1-0)
- 非平衡电桥电阻计算_非平衡电阻电桥等效电阻的初等解析
- 2019年未来软件工作室年会总结
- 利用python实现深度学习生成对抗样本模型,为任一图片加扰动并恢复原像素的全流程记录
- 如何健壮你的后端服务?
- 解决Intellij idea 修改控制台的字体样式问题
- Word排版技巧笔记
- windows如何修改盘符,提示无法修改怎么办?