Tôi đang thực hiện một bộ lọc trong đó tôi kiểm tra xem chuỗi unicode (utf-8 encoding) có chứa các ký tự viết hoa không (trong tất cả các ngôn ngữ). Sẽ ổn với tôi nếu chuỗi ký tự không chứa bất kỳ ký tự có vỏ nào cả.Python: Làm cách nào để kiểm tra xem chuỗi unicode có chứa một ký tự được sắp xếp không?
Ví dụ: 'Hello!' sẽ không vượt qua bộ lọc, nhưng "!" nên vượt qua bộ lọc, vì "!" không phải là một nhân vật có vỏ.
Tôi dự định sử dụng phương thức islower(), nhưng trong ví dụ trên, "!". Islower() sẽ trả về Sai.
Theo tài liệu Python, "Phương thức unicode python islower() trả về True nếu các ký tự được bỏ chuỗi của chuỗi unicode là tất cả chữ thường và chuỗi chứa ít nhất một ký tự được lồng, nếu không, nó sẽ trả về False."
Vì phương thức này cũng trả về Sai khi chuỗi không chứa bất kỳ ký tự có vỏ nào, tức là. "!", Tôi muốn kiểm tra xem chuỗi có chứa bất kỳ ký tự có vỏ nào không.
Something như thế này ....
string = unicode("[email protected]#$%^", 'utf-8')
#check first if it contains cased characters
if not contains_cased(string):
return True
return string.islower():
Bất kỳ đề xuất cho một chức năng contains_cased()?
Hoặc có thể là cách tiếp cận triển khai khác?
Cảm ơn!
Câu trả lời mà bạn đã chấp nhận có vẻ không chính xác. Xem câu trả lời của tôi. –