Kotlin, Android платформа. Как проверить, содержит ли текст какие-либо цифры / символы / символы? - PullRequest
3 голосов
/ 20 июня 2020

Для начала, я новичок в Kotlin и работаю с Android Studio всего 2 недели.

Я просто пытаюсь проверить, содержит ли поле EditText какие-либо цифры / символы / символы. Я пробовал писать вот так:

    if (editText!!.text.contains(Int)) {
    textView?.text = "ERROR! EDITTEXT FIELD CONTAINS DIGITS!"
}

Но так не работает. Как я могу проверить, является ли текст numeri c или нет, или, может быть, он содержит символы (например, "/?!:;%")? Спасибо за помощь!

Ответы [ 2 ]

3 голосов
/ 20 июня 2020

Определите строку, содержащую все символы и цифры, которые вы хотите проверить:

val symbols = "0123456789/?!:;%"

, а затем используйте any:

if (editText!!.text.any {it in symbols}) {
    textView?.text = "ERROR! EDITTEXT FIELD CONTAINS DIGITS/INVALID SYMBOLS!"
}
2 голосов
/ 20 июня 2020

Поскольку вам нужно проверить, содержит ли текст только буквы или нет, вместо использования регулярного выражения для любых цифр / специальных символов вы можете использовать регулярное выражение с отрицанием букв [^A-Za-z], что будет означать что угодно кроме букв . Таким образом, ваш лог c будет

if (editText!!.text.contains(Regex("[^A-Za-z]"))) {
    textView?.text = "ERROR! EDITTEXT FIELD CONTAINS DIGITS/SPECIAL CHARS!"
}

Обратите внимание, что здесь учитываются только буквы английского sh.

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