我想用单个/多个字符替换多组字符。
例子 :
输入
我要你好 RRRRRRRRRRRR 我的名字 RRR 是 RRRRRRRR arvind RR
输出
我要你好 A 我的名字 A 是 A arvind A
是否有任何库方法可以让我这样做?
我能想到的唯一方法是遍历每个字符并查看下一个字符是否相同。我会记下开始和结束索引,并递归地对字符串执行此操作直到结束。
我想用单个/多个字符替换多组字符。
例子 :
输入
我要你好 RRRRRRRRRRRR 我的名字 RRR 是 RRRRRRRR arvind RR
输出
我要你好 A 我的名字 A 是 A arvind A
是否有任何库方法可以让我这样做?
我能想到的唯一方法是遍历每个字符并查看下一个字符是否相同。我会记下开始和结束索引,并递归地对字符串执行此操作直到结束。
您可以使用String#replaceAll(String regex, String replacement)方法。它使用正则表达式作为第一个参数并替换找到的每个匹配项。
String s = "i want hello RRRRRRRRRRRR My name RRR is RRRRRRRR arvind RR";
String result = s.replaceAll("R+", "A");
你可以试试这个。R+
将替换一个或多个R
String str = "i want hello RRRRRRRRRRRR My name RRR is RRRRRRRR arvind RR";
System.out.println(str.replaceAll("R+","A"));
试试这个,A 将替换您的字符串中的 2 个或更多 RR:
String str = "i want hello RRRRRRRRRRRR My name RRR is RRRRRRRR arvind RR";
String newStr = str.replaceAll("R{2,}", "A");
String input = "i want hello RRRRRRRRRRRR My name RRR is RRRRRRRR arvind RR";
String output = input.replaceAll("R+" "A")
String[] split = s.split(" ");
for (String value : split)
{
if (StringUtils.containsOnly(value, "R"))
{
value = value.replace(value, "A");
}
System.out.println(""+value);
}
因为如果任何值包含ARRIVED
. 它仅将多个 R 替换为 A。但是如果一个单词中只有 R,则要替换。