3

我想用单个/多个字符替换多组字符。

例子 :

输入

我要你好 RRRRRRRRRRRR 我的名字 RRR 是 RRRRRRRR arvind RR

输出

我要你好 A 我的名字 A 是 A arvind A

是否有任何库方法可以让我这样做?

我能想到的唯一方法是遍历每个字符并查看下一个字符是否相同。我会记下开始和结束索引,并递归地对字符串执行此操作直到结束。

4

5 回答 5

7

您可以使用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");
于 2013-09-13T09:03:55.680 回答
4

你可以试试这个。R+将替换一个或多个R

    String str = "i want hello RRRRRRRRRRRR My name RRR is RRRRRRRR arvind RR";
    System.out.println(str.replaceAll("R+","A"));
于 2013-09-13T09:03:47.570 回答
3

试试这个,A 将替换您的字符串中的 2 个或更多 RR:

String str = "i want hello RRRRRRRRRRRR My name RRR is RRRRRRRR arvind RR";
String newStr = str.replaceAll("R{2,}", "A");
于 2013-09-13T09:05:21.407 回答
0
String input = "i want hello RRRRRRRRRRRR My name RRR is RRRRRRRR arvind RR";
String output = input.replaceAll("R+" "A")
于 2013-09-13T09:04:13.030 回答
0

StringUtils.containsOnly

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,则要替换。

于 2013-09-13T09:06:13.003 回答