gpt4 book ai didi

java正则表达式用单个字母替换word中的任何双字母

转载 作者:行者123 更新时间:2023-12-01 17:06:44 25 4
gpt4 key购买 nike

我已经搜索了几个小时但找不到答案,如果之前已经回答过这个问题,我深表歉意。

我正在尝试检查消息中的每个单词是否有双字母,并删除多余的字母,例如“wall”或“doll”等单词将变成“wal”或“dol”。目的是为游戏进行虚假语言翻译,到目前为止我已经识别出双字母,但不知道如何替换它们。

到目前为止,这是我的代码:

public String[] removeDouble(String[] words){
Pattern pattern = Pattern.compile("(\\w)\\1+");
for (int i = 0; i < words.length; i++){
Matcher matcher = pattern.matcher(words[i]);
if (matcher.find()){
words[i].replaceAll("what to replace with?");
}
}
return words;
}

最佳答案

如果使用反向引用,则可以在一条语句中完成整个替换操作:

for (int i = 0; i < words.length; i++)
words[i] = words[i].replaceAll("(.)\\1", "$1");

请注意,您必须分配从(似乎)更改字符串的字符串方法返回的值,因为它们返回新字符串而不是改变字符串。

关于java正则表达式用单个字母替换word中的任何双字母,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25224277/

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