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 ...
最新文章
- 安装wxpython——python程序GUI图形界面使用
- 12位黄金技术大佬发出警告:一大波必读好书向你袭来!
- MATLAB实战系列(十九)-遗传算法解决TSP(旅行商)问题-应用及解析(文末附MATLAB源码)
- ITK:从给定的seeds创建距离图
- loading怎么关闭 vant_vant-ui组件调用Dialog弹窗异步关闭操作
- python模块里的函数及说明,Python模块 time与datetime模块的函数说明及使用实例
- 数学建模学习笔记(十一)——预测模型
- python安装完毕后,提示找不到ssl模块的解决步骤
- 安装floodlight遇到的问题和解决
- 069 模块基础总结
- 染用计算机语言,着色器语言
- 基于行为树的高级游戏AI教程
- Command ‘docker‘ not found, but can be installed with:
- (14.1)Zotero常用功能:插件、导入题录、参考文献
- app android切图工具,小白自学APP切图:APP切图工具Cutterman的参数设置
- ajax异步提示对号,jQuery Ajax显示对号和错号用于验证输入验证码是否正确
- php加速模块cpan模块,查看perl模块和cpan模块介绍
- 奔跑吧DKY——团队Scrum冲刺阶段-Day 4
- idea 2020.1 连接MySQL数据库的两种方法
- coco训练集darknet_darknet-yolov3训练自己的数据集