如何用正则表达式删除第二个子字符串?

Ale*_*ich 2 java regex

String text;
System.out.println(text);
Run Code Online (Sandbox Code Playgroud)

在控制台中它看起来像这样:

The US.....................................
Illinois Commerce .......... ..............
...........................................
..........................Illinois Commerce 
Run Code Online (Sandbox Code Playgroud)

我需要摆脱第二个子串 Illinois Commerce


这是我试过的:

text = text.replaceAll("(?:Illinois Commerce:.*?){2}", "");
Run Code Online (Sandbox Code Playgroud)

我明白了 java.lang.ArrayIndexOutOfBoundsException: 1

Cas*_*yte 5

你可以试试这个:

text = text.replaceFirst("(Illinois Commerce(?s).*?)Illinois Commerce", "$1");
Run Code Online (Sandbox Code Playgroud)

  • `replaceAll()`用于正则表达式. (2认同)
  • @RohitJain:`replaceFirst()`就是我想要的. (2认同)