python判断字符串为10进制数

        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')

>>> 

 

你可能感兴趣的:(Python)