String str = "this is a 'test' of 'something'";
String rep = str.replaceAll("'[^']*'", "($0)"); // stand back, I know regex
Здесь я использовал метод toe replaceAll()
, который ищет все совпадения для регулярного выражения "'[^']*'"
и заменяет их регулярным выражением "($0)"
.
Шаблон "'[^']*'"
сопоставляет все подстроки, начинающиеся и заканчивающиеся одинарной кавычкой ('
), и между ними находятся любые символы, кроме другой одинарной кавычки ([^']
), и они могут появляться любое количество раз (* 1 010 *). Заменить их на "($0)"
означает брать каждое совпадение ($0
) и заключать его в скобки.