Js替换字符串的⼏种⽅法替换字符串中的⽂本是 中的常见任务。本⽂研究⼏种⽤ replace 和正则表达式替换⽂本的⽅法。
替换单个字串
通常 的 String replace() 只会替换它在字符串中到的第⼀个匹配的⼦符:
const myMessage = 'this is the sentence to end all sentences';
const newMessage = place('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 = place(/sentence/g, 'message');
js方法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 = place(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 = place(/\\-/g, '-');
console.log(newUrl); // this-is-my-url
或者⽤new Regexp():
const myUrl = 'this\-is\-my\-url';
const newUrl = place(new RegExp('\-', 'g'), '-');
console.log(newUrl); // this-is-my-url
在第⼆个例⼦中不必⽤反斜杠来转义反斜杠。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论