регулярное выражение - PullRequest
       3

регулярное выражение

1 голос
/ 02 марта 2012

Теперь у меня есть строка, и я хочу удалить \ n и преобразовать \ u в \\ u.

Если строка содержит \\ u, я не изменю ее на \\\ u.

Я хочу использовать String.replaceAll (), но я не знаю, как написать регулярное выражение.

пожалуйста, помогите мне. спасибо.

пример:

\ u => \\ u

\\ u => \\ u (ничего не делать)

1 Ответ

4 голосов
/ 02 марта 2012

Вот решение, использующее отрицательный взгляд. (Изменяется \u на \\u, только если для не предшествует \.)

String in = "lorem ipsum \\u dolor \\\\u sit \n amet";

System.out.println(in);
System.out.println(in.replaceAll("\\n", "")
                     .replaceAll("(?<!\\\\)\\\\u", "\\\\\\\\u")); 

Печать:

lorem ipsum \u dolor \\u sit 
 amet
lorem ipsum \\u dolor \\u sit  amet
  • \n удалено
  • Первый \u изменяется на \\u, но при этом \\u сохраняется как есть.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...