gpt4 book ai didi

java - 使用 Java 中的正则表达式从字符串中删除单词的所有独立出现

转载 作者:行者123 更新时间:2023-12-03 23:32:21 25 4
gpt4 key购买 nike

需要有关如何替换子字符串的建议,例如:@sometext,但不能替换"@someothertext@somemail.com" 子字符串。

例如,当我有一个像这样的字符串时:

@sometext 和 "@someothertext@somemail.com"sometextafter 的例子

替换上面字符串中的子字符串后的结果应该是这样的:

一个带有和也带有“@someothertext@somemail.com”sometextafter 的例子

从字段中获取字符串后,我正在使用:

String textMod = someText.replaceAll("( |^)[^\"]@[^@]+?( |$)","");
someText = textMod + "@\"" + someone.getEmail() + "\" ";

然后我将这个字符串设置到字段中。

最佳答案

您可以通过这种方式对独立事件执行正则表达式

\b@sometext\b

将\b 放在@sometext 的前面和后面将确保它是一个独立的词,而不是另一个词的一部分,如@someothertext@sometext.com。然后如果找到结果将放在 $match 中,现在你可以用 $match 做任何你想做的事情

希望对你有帮助

From https://docs.oracle.com/javase/tutorial/essential/regex/bounds.html

The \b in the pattern indicates a word boundary, so only the distinct * word "web" is matched, and not a word partial like "webbing" or "cobweb"

if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice."))      {
echo "A match was found.";
}

^ PHP example but you get the point

关于java - 使用 Java 中的正则表达式从字符串中删除单词的所有独立出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9409611/

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