Java String.replaceAll регулярное выражение - PullRequest
9 голосов
/ 07 мая 2009

Что такое регулярное выражение для удаления MY-CORP \ части введенной строки типа MY-CORP \ My.Name с помощью метода java String.replaceAll, чтобы я мог получить только часть My.Name?

Я пытался

public static String stripDomain(String userWithDomain) {
    return userWithDomain.replaceAll("^.*\\", "");
}

но я получил Неожиданная внутренняя ошибка рядом с индексом 4 ^. *

1 Ответ

12 голосов
/ 07 мая 2009

Ваша проблема в том, что обратный слеш имеет особое значение как в строках Java, так и в регулярных выражениях. Таким образом, вам нужно четыре слэша в исходном коде Java, передавая два в анализатор регулярных выражений, чтобы получить один литерал один в регулярном выражении:

return userWithDomain.replaceAll("^.*\\\\", "");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...