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

发布于 2022-09-13 00:43:13 字数 216 浏览 39 评论 0

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

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

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

求一个好用的方法

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

感性不性感 2022-09-20 00:43:13

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

'我想重置密码,可是提示我密码重复,我又得重新想一个密码,密码的重要性'.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)]
}))
追风人 2022-09-20 00:43:13

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文