gpt4 book ai didi

javascript - 如何替换不包括特定单词的字符串?

转载 作者:行者123 更新时间:2023-11-30 21:05:03 25 4
gpt4 key购买 nike

我有这个代码:

text.replace(/(?:^|\s)\S/g, c => c.toUpperCase());

https://regex101.com/r/vD4aGJ/1

这是在字符串上实现 TitleCase,它工作得很好。但现在我需要“跳过”标题中的某组单词。

如果单词在提供的列表中,我如何修改该正则表达式以跳过此替换,例如(下面的代码不起作用,只是为了解释):

/(?:^|\s)\S^(of|from)/g

通过键入 from the house of cards 将打印 from The House of Cards 而不是当前输出 From The House Of Cards

谢谢!

最佳答案

你可以使用

\b(?!(?:from|of)\b)[a-z]

参见 a demo on regex101.com .
这利用了否定前瞻和非捕获组,其中列出了要排除的单词。


所以在 JS 代码中这将是

text.replace(/\b(?!(?:from|of)\b)[a-z]/g, c => c.toUpperCase());

关于javascript - 如何替换不包括特定单词的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46734253/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com