gpt4 book ai didi

java - 如何替换以特定字符开头和结尾的所有子字符串?

转载 作者:行者123 更新时间:2023-12-02 09:07:13 25 4
gpt4 key购买 nike

我有一个像

这样的字符串

"The brown fox @jumped@ over the @fence@"

,我希望将两个 '@' 之间的所有子字符串替换为 'kicked',即最终输出应该是:

"The brown fox kicked over the kicked"

我写了以下内容,但无法找出错误:

string.replaceAll("^@.*@$", "kicked");

最佳答案

您不应使用 anchor 元素 ^$。它们表示整个输入的开头和结尾,而不是单词的开头和结尾。您还应该将点 . 替换为 [^@](意思是“除 @ 之外的任何内容”),以使您的表达更加高效。

string.replaceAll("@[^@]*@", "kicked");

如果您想避免替换单词内的标记元素,例如如果您想按原样保留 he@ll@o,而不是使其成为 hekikkedo,您可以放入单词边界标记 \b在表达式的两端:

string.replaceAll("\\b@[^@]*@\\b", "kicked");

关于java - 如何替换以特定字符开头和结尾的所有子字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12917208/

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