Я хочу заменить da sh между тремя или более числами (каждое число имеет только одну ди git, то есть число от 0 до 9), разделенных da sh одним пробелом в предложение. Какое хорошее решение для этой задачи?
Пример ввода:
4-2-2-1 kim yoong-yun
4 -2 - 2 - 1 and 4 - 5
1-2-3-4-5
1-5
4 - 5
Ожидаемый результат:
4 2 2 1 kim yoong-yun
4 2 2 1 and 4 - 5
1 2 3 4 5
1-5 // will not replace
4 - 5 // will not replace
Я знаю, что могу сделать это с помощью этого сложного метода :
String sentence = "4-2-3-1";
Pattern pCode = Pattern.compile("\\b(?:\\d ?- ?){2,}\\d");
Matcher mCode = pCode.matcher(sent);
while (mCode.find()) {
sentence = mCode.replaceFirst(mCode.group(0).replaceAll(" ?- ?", " "));
mCode = pCode.matcher(sent);
}
System.out.print(sentence) // 4 2 3 1
Но можно ли сделать одну замену или какое-нибудь простое решение?