Java Regex: сопоставить символ с пробелом? - PullRequest
3 голосов
/ 20 июня 2011

Это сводит меня с ума ... У меня есть строка ввода примерно так:

String input = "T ";

И я пытаюсь сопоставить и заменить строку примерно так:

String output = input.replace("T\\s", "argggghhh");
System.out.println(output);  // expected: "argggghhh"
                             // actual: "T "

Что я делаю не так? Почему \\s не соответствует пробелу?

Имейте в виду, я хочу сопоставить несколько пробелов (\\s+), но я не могу получить этот простой случайработать: (.

1 Ответ

11 голосов
/ 20 июня 2011

Используйте replaceAll() вместо replace().

replace() не не использует регулярные выражения.

См. http://download.oracle.com/javase/6/docs/api/java/lang/String.html#replace(java.lang.CharSequence, java.lang.CharSequence) против http://download.oracle.com/javase/6/docs/api/java/lang/String.html#replaceAll(java.lang.String, java.lang.String)

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