// change the group and it is source string is automatically updated
Нет способа изменить строку в Java, поэтому то, о чем вы просите, невозможно.
К удалить или заменить шаблон со строкой может быть получен с помощью вызова типа
someString = someString.replaceAll(toReplace, replacement);
В преобразуйте совпадающую подстроку, как, кажется, указывает ваша строка
m.group().replaceAll("something","");
лучшее решение, вероятно, использовать
- A
StringBuffer
за результат
Matcher.appendReplacement
и Matcher.appendTail
.
Пример: * * тысяча тридцать-один
String regex = "ipsum";
String sourceString = "lorem ipsum dolor sit";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(sourceString);
StringBuffer sb = new StringBuffer();
while (m.find()) {
// For example: transform match to upper case
String replacement = m.group().toUpperCase();
m.appendReplacement(sb, replacement);
}
m.appendTail(sb);
sourceString = sb.toString();
System.out.println(sourceString); // "lorem IPSUM dolor sit"