本文介绍Python中如何检查字符串是否包含数字。 如果给定的字符串中包含数字True,否则返回False。 Python中检查字符串是否包含数字的一种简单方法是使用isdigit()方法验证字符串中的每个字符,isdigit()会返回一个布尔值,如果为True,则意味着字符串至少包含一个数字。 使用for循环+isdigit()检查字符串 def NumIn(s): for char in s: if char.isdigit(): return True return False str1="python4you" str2 = "zbxx.net" str3 = "123" print(NumIn(str1)) print(NumIn(str2)) print(NumIn(str3))
输出: True False True
首先,自定义函数,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))
输出: True False True
使用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)))
输出: True False True
使用re.search()检查字符串是否包含数字 使用正则表达式来检查字符串是否包含数字。正则表达式是基于预定义模式匹配文本的强大工具。在这里,我们使用“\d”来匹配数字。 import re str1 = "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 False str1 = "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
|