判断一个字符串是否为数字字母
Posted 兵者
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了判断一个字符串是否为数字字母相关的知识,希望对你有一定的参考价值。
fastnumbers参考文档: https://fastnumbers.readthedocs.io,
除了提供fast_float,fast_real等函数来加速builtins API外,此包还提供了isreal, isfloat, isint, isintlike等API,方便调用判断输入是否为float或者int。 比调用float函数或者int函数,然后异常报错后得到判断结果(如代码一)更为优雅;
需要注意的是 num_only,str_only并不是指明输入参数 必须数字[0-9]串或者必须是字符串,而是数据类型是数字或者字符串。
代码一:
def isfloat(abc): try: float(abc) return True except: return False print(isfloat("abc")) print(isfloat("-7\n"))
fastnumbers有一例外是会将非ascii码的纯数字也做判断并返回True,所以需要进行过滤;
isfloat, isint, isreal等函数返回True; 叠加判断是否为ascii吗,防止中文、其他语言的中的数字被判断为float类型; isascii代码如代码段二:
if isfloat(segs[0]) and isascii(segs[0]):
代码二:
def is_ascii(str_): try: if str_.encode("ascii"): return True except: return False
以上是关于判断一个字符串是否为数字字母的主要内容,如果未能解决你的问题,请参考以下文章