Как проверить и заменить специальный символ (\), содержащийся в строке в Java? - PullRequest
3 голосов
/ 09 сентября 2011

У меня есть строка str=p2\7\2010 Я хочу проверить и заменить, если str.contains("\"), то заменить его на ("\\\\") вместо \. Я не могу сделать это на Java, пожалуйста, приложите немного усилий.

Ответы [ 3 ]

4 голосов
/ 09 сентября 2011

use String.replace () :

if (str.contains("\\")) {
    str = str.replace("\\", "\\\\");
}

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

ОБНОВЛЕНИЕ:

Реализация String.replace() также основана на регулярных выражениях, но скомпилирована в режиме Pattern.LITERAL .

0 голосов
/ 09 сентября 2011

Попробуйте это,

String newString = oldString.replace("/", "//");

или попробуйте метод шаблона,

Pattern pattern = Pattern.compile("/"); 
Matcher matcher = pattern.matcher("abc/xyz"); 
String output = matcher.replaceAll("//"); 
0 голосов
/ 09 сентября 2011

str.contains("\"") соответствует строке, в которой есть ".

Кроме того, вам, вероятно, понадобится str.replaceAll("\\", "\\\\")

Дополнительно; для проверки, содержит ли оно \ вам нужно str.contains("\\"), поскольку \ является специальным символом, его необходимо экранировать.

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