【发布时间】:2021-11-01 17:12:44
【问题描述】:
如果我有一个字符串“3 apples”或“3apples”并进行如下检查:
fruit = "3 apples"
if fruit.find('apples') > -1:
如果陈述属实,我如何才能得到苹果前面的数字 3?
【问题讨论】:
标签: python python-3.x string
如果我有一个字符串“3 apples”或“3apples”并进行如下检查:
fruit = "3 apples"
if fruit.find('apples') > -1:
如果陈述属实,我如何才能得到苹果前面的数字 3?
【问题讨论】:
标签: python python-3.x string
使用str.split (假设提供的字符串格式为:'int(s) apples' 或'int(s)apples'):
fruit = "3 apples"
try:
num, word = fruit.split()
except ValueError:
num = ''.join(filter(str.isdigit, fruit))
word = ''.join(filter(str.isalpha, fruit))
if word == 'apples':
print(num)
使用re:
import re
fruit = "3 apples"
match = re.match(r"(\d+)\s*apples$", fruit)
if match:
print(match.group(1))
【讨论】:
(\d+)\s*apples$
您可以遍历字符串并找到数字:
fruit = "3 apples"
if fruit.find('apples') > -1:
print("".join([i for i in fruit if i.isdigit() ]))
【讨论】: