gpt4 book ai didi

java - 如何用正则表达式精确匹配单词?

转载 作者:行者123 更新时间:2023-12-02 08:35:44 27 4
gpt4 key购买 nike

我可能错误地问了这个问题,但我想做的是:

给定一个可能有数百行长的大字符串,匹配并精确替换一个单词,并确保它不会替换和匹配任何其他字符串的任何部分。

例如:

Strings to Find = Mac Apple Microsoft Matt Damon I.B.M. Hursley  Replacement Strings = MacO AppleO MicrosoftO MattDamonP I.B.M.O HursleyL  Input String (with some of the escape characters included for clarity) =  "A file to test if it finds different\r\n  bits and bobs like Mac, Apple and Microsoft.\n  I.B.M. in Hursley does sum cool stuff!Wow look it's "Matt Damon"\r\n  Testing something whichwillerrorMac"\n  

输出

"A file to test if it finds different  bits and bobs like MacO, AppleO and MicrosoftO.  I.B.M.O in HursleyL do sum cool stuff!Wow look it's "Matt DamonP"  Testing something whichwillerrorMac"  

我尝试使用正则表达式使用字边界,尽管这会在最后一行显示 'whichwhillerrorMacO'

我还尝试使用 StringTokenizer 类和各种分隔符来尝试替换单词,但我尝试替换的一些单词包含这些分隔符。

是否有正则表达式可以解决这个问题?

最佳答案

\$1O\ 替换 \b(Mac|Apple)\b 不会影响 whichwillerrorMac - 它会匹配 不过whichwill-Mac

关于java - 如何用正则表达式精确匹配单词?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1868140/

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