【发布时间】:2019-09-22 00:37:19
【问题描述】:
我想检查字符串中的字符是数字、空格、大写/小写字符还是特殊字符“.'*^?...”
我想出了不是很巧妙的解决方案,而且如果不在 else 语句中添加额外的行,它就无法检查特殊字符。
def checker(str1):
if str1.isspace() is True:
print('it\'s a space')
if str1.isupper() is True:
print('it\'s a letter and it\'s upper')
if str1.islower() is True:
print('it\'s a letter and it\'s lower')
if str1.isdigit() is True:
print('it\'s a digit')
if str1.isascii() is True:
print('it\'s a special chracter')
string_letter = 'A'
checker(string_letter)
此代码有效...如果我为特殊字符创建一些额外的子句,因为现在它只是说空格是一个特殊字符...发生这种情况是因为.isascii() 对于特殊字符来说太宽泛了。
是否有任何我想念的本机方法可以更优雅地完成该功能?又名给出字符串中某个字符的信息?
我对python很陌生,所以很抱歉,也许我无法找到本地解决方案,因为我还不太熟悉术语。
【问题讨论】:
-
而不是
if x is True只需使用if x -
感谢您的回复!我不知道你可以跳过澄清,它仍然可以那样工作......很好的提示,谢谢!
标签: python-3.x string character