python - 如何检查字符串并在检查后获取字符串
问题描述
如果我有一个字符串“3 apples”或“3apples”并进行如下检查:
fruit = "3 apples"
if fruit.find('apples') > -1:
如果陈述是真的,我怎样才能得到苹果之前的数字 3?
解决方案
使用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))
推荐阅读
- vega - 在 vega 中刷/链接(不是 vega-lite)
- java - “Java 方法是元数据”是什么意思?
- objective-c - 应用非标准电源断言和创建虚拟 HID
- python-3.x - python以不同的顺序打印字典
- node.js - 使用电子代理的 Nightmarejs
- java - 需要使用 IntelliJ 更改 GUI 上的背景,但背景隐藏了按钮
- c - Difference between array of pointers and pointer to array?
- python - 如何在 Python 中组合多个数据框?
- code-signing-certificate - 代码签名后仍会出现未经验证的发布者警告
- java - 在 Kotlin 中将 DynamoDB 集成到 Android Studio 项目中