Предварительная строка с использованием replaceAll и regex - PullRequest
1 голос
/ 04 марта 2011

Я не могу понять, как создать регулярное выражение, используя позитивный взгляд.Идея состоит в добавлении двухсимвольной строки к двум символам в длинной строке.т.е.

"090909" => "XX09XX09XX09"

Этот код:

String s = "090909";
String ns = s.replaceAll("(?=\\d\\d)", "XX");  

... не работает;вывод XX0XX9XX0XX9XX09.Но этот код работает:

String s = "090909";
String ns = s.replaceAll("(?=09)", "XX");  

Я запутался в том, как придумать выражение, говорящее о каждых двух символах.Я что-то пропустил?

1 Ответ

5 голосов
/ 04 марта 2011

Вы можете использовать следующее:

String s = "090909";
String ns = s.replaceAll("(\\d\\d)", "XX$1");  

( и ) создадут захват , а $1 получит доступ к захвату.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...