首页 > 解决方案 > 如何检查字符串并在检查后获取字符串

问题描述

如果我有一个字符串“3 apples”或“3apples”并进行如下检查:

fruit = "3 apples"

if fruit.find('apples') > -1:

如果陈述是真的,我怎样才能得到苹果之前的数字 3?

标签: pythonpython-3.xstring

解决方案


使用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))

推荐阅读