2015-05-16 2 views
-3

У меня есть строка и хочу, чтобы она не содержала цифр. Есть ли метод в библиотеке String, который это делает, или я должен сам его реализовать?Как убедиться, что строка не имеет цифр

+2

Вы можете посмотреть на матчи с @AlexisC регулярное_выражение –

+0

.: Ой, и спасибо. Неверный оратор, но я уверен, что этот вопрос был задан gazillion раз, и я критикую OP за ужасные усилия при первом поиске. –

ответ

3

Вы можете использовать функцию string.matches, чтобы проверить, содержит ли строка хотя бы одну цифру или нет.

string.matches("\\D+"); 

Это вернет true для строк, которые не будут содержать одну цифру. \\D соответствует любому знаку без цифр. Итак, \\D+ соответствует одному или нескольким несимметричным символам. Передав его методу matches, он применит регулярное выражение к всей строке.

DEMO

+0

, если вы хотите совместить пустую строку, тогда измените '+' в приведенном выше выражении на '*' –

+0

Спасибо. Он отлично работал. Не могли бы вы рассказать мне, почему двойная косая черта (\\) перед D? – hzjw

+0

В java вам нужно еще раз избежать обратной косой черты в реальном регулярном выражении, так что это будет рассматриваться как регулярное выражение, иначе оно будет рассматриваться как escape-последовательность. –

Смежные вопросы