Заменить более одного непрерывного вхождения символа подчеркивания "_" строкой "blank" в java - PullRequest
0 голосов
/ 03 сентября 2018

Мне нужно заменить более одного непрерывного повторения символа «_» в любой строке словом «blank», так что This_is - тест ___ становится This_is - тестовый пробел . Если есть только один символ «_», его не следует заменять.

Несколько последовательных подчеркиваний необходимо заменить пустыми, чтобы слово пусто было произнесено при чтении строки для преобразования текста в речь в Android.

Ответы [ 2 ]

0 голосов
/ 03 сентября 2018

Вы можете сделать это с помощью Регулярного выражения . К счастью, в String существует метод replaceAll(), который принимает регулярное выражение:

final String input = "This_is a test ___";
final String output = input.replaceAll("_{2,}", "blank");
System.out.println(output);  // Prints "This_is a test blank"

Что означает выражение там: «найти по крайней мере 2 последовательных вхождения подчеркивания».

0 голосов
/ 03 сентября 2018

Вы можете использовать метод replaceAll():

String str = "This_ is a ____";
str = str.replaceAll("[_]{2,}", "blank");

Выход:

This_ is a blank
...