Я делаю фильтр, в котором проверяю, не содержит ли строка в Юникоде (кодировка utf-8) прописные буквы (на всех языках). Это нормально для меня, если строка не содержит никаких символов в регистре.
Например: «Привет!» не пройдет фильтр, но "!" должен пройти фильтр, так как "!" не является регистром символов.
Я планировал использовать метод islower (), но в приведенном выше примере «!». Islower () вернет False.
В соответствии с Документами Python, «Метод unicode Python islower () возвращает True, если все символы в строке Unicode имеют строчные буквы, а строка содержит хотя бы один символ в регистре, в противном случае возвращается False».
Так как метод также возвращает False, когда строка не содержит ни одного символа в регистре, т.е. «!», Я хочу проверить, содержит ли строка какой-либо символ в регистре.
Как то так ...
string = unicode("!@#$%^", 'utf-8')
#check first if it contains cased characters
if not contains_cased(string):
return True
return string.islower():
Какие-либо предложения для функции contains_cased ()?
Или, возможно, другой подход к реализации?
Спасибо!