Vas*_*tos 1 python string integer
我正在使用 python 并且我有一个字符串变量foo = " I have 1 kilo of tomatoes "
我想要的是检查我的字符串是否包含一个整数(在我们的例子中为 1 )并返回特定的整数我知道我可以使用 isdigit 函数,例如:
def hashnumbers(inputString):
return any(char.isdigit() for char in inputString)
Run Code Online (Sandbox Code Playgroud)
但它返回 true 或 false 并且不存储数字。我很感激你的帮助。先感谢您 。
List Comprehension : 返回数字
要返回数字,请使用列表理解 if
def hashnumbers(inputString):
return [char for char in inputString if char.isdigit()]
print(hashnumbers("super string")) # []
print(hashnumbers("super 2 string")) # ['2']
print(hashnumbers("super 2 3 string")) # ['2', '3']
Run Code Online (Sandbox Code Playgroud)如果没有找到数字,则返回默认值(空列表被评估为 False)
return [char for char in inputString if char.isdigit()] or None
Run Code Online (Sandbox Code Playgroud)正则表达式版本 re.findall
return re.findall(r"\d", inputString)
return re.findall(r"\d", inputString) or None
Run Code Online (Sandbox Code Playgroud)只返回第一个
def hashnumbers(inputString):
return next((char for char in inputString if char.isdigit()), None)
print(hashnumbers("super string")) # None
print(hashnumbers("super 2 string")) # 2
print(hashnumbers("super 2 3string")) # 2
Run Code Online (Sandbox Code Playgroud)