gpt4 book ai didi

java - 在 Java 中替换单词时保持相同的大小写

转载 作者:行者123 更新时间:2023-12-01 16:43:09 26 4
gpt4 key购买 nike

我的目标是纠正消息中常见的语法错误。这是我目前写的内容:

@EventHandler
public void onChat(AsyncPlayerChatEvent event){
String message = event.getMessage().replaceAll("(?i)dont", "don't")
.replaceAll("(?i)youre", "you're");

event.setMessage(message);
}

这可以将 dont 替换为 don't,将 youre 替换为 youre。问题在于 DONT 被替换为 don't,而不是 DON'T

如何在保留大小写的同时执行此替换?

最佳答案

使用捕获组:

> "DoNt".replaceAll("(?i)\\b(don)(t)\\b", "$1'$2")
"DoN't" (String)

> "YoUrE".replaceAll("(?i)\\b(you)(re)\\b", "$1'$2")
"YoU'rE" (String)

您还应该使用 \b 作为单词边界,这样您就不会无意中将“orthodontist”等单词更改为“orthodon'tist”。

关于java - 在 Java 中替换单词时保持相同的大小写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58793828/

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