分享

Python中检查给定的字符串是否包含数字

 信息科技云课堂 2024-04-12 发布于山东

本文介绍Python中如何检查字符串是否包含数字。

如果给定的字符串中包含数字True,否则返回False。

Python中检查字符串是否包含数字的一种简单方法是使用isdigit()方法验证字符串中的每个字符,isdigit()会返回一个布尔值,如果为True,则意味着字符串至少包含一个数字。

使用for循环+isdigit()检查字符串

def NumIn(s):   for char in s:       if char.isdigit():           return True   return Falsestr1="python4you"str2 = "zbxx.net"str3 = "123"print(NumIn(str1))print(NumIn(str2))print(NumIn(str3))

输出:TrueFalseTrue

首先,自定义函数,for循环检查字符串中每一个字符,一旦在字符串中找到一个数字,函数的执行就会停止,函数返回True,否则,找不到数字,返回Flase。

使用isdigit()和列表推导式检查字符串

>>>str1 = "py3">>>[c.isdigit() for c in str1][False, False, True]

使用列表推导式检查字符串每一个字符,返回一个包含布尔元素的列表。

可以使用if-else选择结构,返回字符串是否包含数字。

str1="python4you"if True in [c.isdigit() for c in str1]:   print("字符串中包含数字!")else:   print("字符串中没有数字!")
输出:字符串中包含数字!

使用any()+isdigit()检查字符串是否包含数字

any() 函数用于判断给定的可迭代参数是否全部为False,则返回False,如果有一个为True,则返回 True。

str1 = "python4you"str2 = "zbxx.net"str3 = "123"print(any(chr.isdigit() for chr in str1))print(any(chr.isdigit() for chr in str2))print(any(chr.isdigit() for chr in str3))

输出:TrueFalseTrue

使用map()+isdigit()检查字符串是否包含数字

str1 = "python4you"str2 = "zbxx.net"str3 = "123"print(any(map(str.isdigit, str1)))print(any(map(str.isdigit, str2)))print(any(map(str.isdigit, str3)))

输出:TrueFalseTrue

使用re.search()检查字符串是否包含数字

使用正则表达式来检查字符串是否包含数字。正则表达式是基于预定义模式匹配文本的强大工具。在这里,我们使用“\d”来匹配数字。

import restr1 = "python4you"str2 = "zbxx.net"str3 = "123"print(bool(re.search(r'\d', str1)))print(bool(re.search(r'\d', str2)))print(bool(re.search(r'\d', str3)))

其他可以实现检查字符串是否包含数字的方法

#检查ASCii码def NumIn(s):   for i in s:       if ord(i)>=48 and ord(i)<=57:           return True   return Falsestr1 = "python4you"str2 = "zbxx.net"str3 = "123"print(NumIn(str1))print(NumIn(str2))print(NumIn(str3))
#遍历每个字符str1 = "python4you"num="0123456789"for i in str1: if i in num: print("找到数字:",i) break

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多