js怎么能替换以某个词开头的字符串

js怎么能替换以某个词开头的字符串

var str='我想重置密码,可是提示我密码重复,我又得重新想一个密码,密码的重要性';
我怎么能把str中重置重复重新这些词语换成虫置虫复虫新,但是密码的重要性不改变

改变前 :str='我想重置密码,可是提示我密码重复,我又得重新想一个密码,密码的重要性';

改变后 :str='我想虫置密码,可是提示我密码虫复,我又得虫新想一个密码,密码的重要性';

求一个好用的方法


回答:

如果你只想排除 重要性 这一个词的话可以使用如下方法

'我想重置密码,可是提示我密码重复,我又得重新想一个密码,密码的重要性'.replaceAll(/重(?!要性)/g,"虫")

"我想虫置密码,可是提示我密码虫复,我又得虫新想一个密码,密码的重要性"

简易敏感词替换程序

const str = '我想重置密码,可是提示我密码重复,我又得重新想一个密码,密码的重要性'

const dict = {

"重置": ["虫置", "重志"],

"重复": ["虫付", "虫负", "重富"],

}

console.log(str.replaceAll(new RegExp(Object.keys(dict).join("|"), "g"), (substring) => {

const replaceArr = dict[substring]

return replaceArr[Math.floor(Math.random() * replaceArr.length)]

}))


回答:

如果需替换词组不固定,那么这个问题就涉及到分词和词组匹配,会变成一个比较复杂的问题,你可以看下现有的拼音转换库,比如 https://www.npmjs.com/package...,浏览器端的算力有限如果在浏览器端做转换匹配结果不一定会精确,在服务端做分词会更合适些。

以上是 js怎么能替换以某个词开头的字符串 的全部内容, 来源链接: utcz.com/p/935764.html

回到顶部