bat替换文件中的字符串_JavaScript 中替换字符串的几种方法
// 每日前端夜话 第418篇// 正文共:700 字// 预计阅读时间:5 分钟
替换字符串中的文本是 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
在第二个例子中不必用反斜杠来转义反斜杠。
你还知道哪些方法,请留言告诉大家。
转一转赞一赞看一看
bat替换文件中的字符串_JavaScript 中替换字符串的几种方法相关推荐
- java7 javascript引擎_Java7中脚本引擎的一般用法,共三种方法获得JavaScript引擎:名称、文件扩展名、MIME类型 | 学步园...
package com.sino.java7; import javax.script.ScriptEngine; import javax.script.ScriptEngineManager; i ...
- 多个html如何套用套一个头部,Vue.js项目中管理每个页面的头部标签的两种方法...
在 Vue SPA 应用中,如果想要修改 HTML 的头部标签,如页面的 title ,我们只能去修改 index.html 模板文件,但是这个是全局的修改,如何为每个页面都设置不一样的 title ...
- python中none算变量吗_在python中对变量判断是否为None的三种方法总结
三种主要的写法有: 第一种:if X is None; 第二种:if not X: 当X为None, False, 空字符串"", 0, 空列表[], 空字典{}, 空元组()这 ...
- java整型转换为数组_基于java中byte数组与int类型的转换(两种方法)
java中byte数组与int类型的转换,在网络编程中这个算法是最基本的算法,我们都知道,在socket传输中,发送.者接收的数据都是 byte数组,但是int类型是4个byte组成的,如何把一个整形 ...
- ASP.NET中WEB上弹出消息框的N种方法(为了以后方便,转了很多网友的文章!希望不会介意)...
ASP.NET中WEB上弹出消息框的N种方法 第一个确定之后跳转到另一页面,第二个确定之后返回前一页 Response.Write("<script langage='javascri ...
- 解决VMware中虚拟机(centos7)无法上网的一种方法
解决VMware中虚拟机(centos7)无法上网的一种方法 参考文章: (1)解决VMware中虚拟机(centos7)无法上网的一种方法 (2)https://www.cnblogs.com/cu ...
- xlsx怎么设置行高列宽_Excel2016中调整行高和列宽的两种方法
在报表的编辑过程中经常需要调整特定行的行高或列的列宽,例如当单元格中输入的数据超出该单元格宽度时,需要调整单元格的列宽.本文图文讲述了Excel2016中调整行高和列宽的两种方法. 方法一:使用命令调 ...
- java中给对象的List集合去重的几种方法(Lambda)
java中给对象的List集合去重的几种方法 前言 一.lambda表达式的去重方式 二.Stream API中的collect去重方法 三.Stream API 中的distinct方法去重 前言 ...
- Python中记住过去(模型状态)的五种方法
在Python中记住过去(模型状态)的五种方法 从封闭函数和迭代器到状态机Python库 有人说... "那些不能记住过去的人,注定要重复它".G. Santayana, 1905 ...
- js中判断文本框是否为空的两种方法
js中判断文本框是否为空的两种方法 //用户名非空验证 function checkUserName(){ var name = document.myform.txtUser; //在这里我认为: ...
最新文章
- 简单介绍python的input,print,eval函数
- html中怎么实现广告自动出来又自动隐藏?,基于jquery实现的定时显示与隐藏div广告的实现代码...
- 利用Java自带的MD5加密java.security.MessageDigest;
- Tomcat出现端口被占用Port 8080 required by Tomcat v9.0 Server at localhost is already in use.
- CentOS6.7 时间同步
- 实际编程题----CT扫描
- 发票管理软件_财务人员都在用的这款发票管理软件,真的值得购买么?
- redis常用命令(基础篇)
- Vue.js(2.x)之插值
- 让Node.js在Azure上运行-3
- java 代码段 执行超时 抛异常_深入理解Java线程状态
- SQL查询语句的基本使用方法
- FitStar Yoga-健身类App原型分享
- 计算机的内存时序参数,电脑内存条很重要的一个参数:时序
- 【转】欧姆龙FINS通讯命令实例详解
- 基于Retrofit框架的金山API翻译功能案例
- 3D模型欣赏:《magician》次时代 美女 精灵
- 19.JavaScript学习笔记——数组
- 京东云修改Hostname,Centos7修改Hostname
- java中的控制器_SpringMVC基础(一)_控制器
热门文章
- vscode 翻译_前端新手 VSCode 入门指南
- Php获取分类等级,PHP获取无限分类的完整等级列表
- mysql多源复制 知乎_技术分享 | MySQL 多源复制场景分析
- PL-SVO: Semi-Direct Monocular Visual Odometry by Combining Points and Line Segments
- Python邮件操作实例:发个邮件用Python实现远程自动关机
- ~~单链表(数据结构)
- 百度2017春招笔试
- java lambda表达式学习笔记
- POJ2155 Matrix二维线段树经典题
- Altium AD20原理图从库中更新变动,库中模型修改后同步到原理图中