python字符串常用的判断函数很多,有如下8种,可惜没有能直接判断字符串是否为10进制数的函数数,但是实际工作中我们会遇到需要判断字符串是否为10进制数的场景。
1、str.isalnum() 所有字符都是数字或者字母
2、str.isdecimal() 所有字符都是十进制数字
3、str.isdigit() 所有字符都是数字
4、str.isalpha() 所有字符都是字母
5、str.islower() 所有字符都是小写
6、str.isupper() 所有字符都是大写
7、str.istitle() 所有单词都是首字母大写
8、str.isspace() 所有字符都是空白字符、\t、\n、\r
>>> s = '123abc5'
>>> s.isalnum()
True
>>> s.isalpha()
False
>>> s.islower()
True
>>> s.isspace()
False
>>>
>>> s1 = '123.456'
>>> s1.isdecimal()
False
>>> s1.isdigit()
False
>>>
>>> s1.islower()
False
>>>
>>> s2 = '123456'
>>> s2.isdigit()
True
>>> s2.isdecimal()
True
>>>
遇上小数点后,str.isdecimal()和str.isdigit()判断不出来,此时可以用正则表达式来判断。
>>> import re
>>> pattern = r'^[-+]?[-0-9]\d*\.\d*|[-+]?\.?[0-9]\d*$'
>>> re.match(pattern, s)
>>> re.match(pattern, s1)
>>> re.match(pattern, s2)
>>> re.match(pattern, 'nan')
>>> re.match(pattern, '-inf')
>>> re.match(pattern, '六')
>>> re.match(pattern, '0')
>>> re.match(pattern, '-12.110031')
>>>