如何用Python提取文本数字并分别存入变量(删除前两词)
实现方案
你的需求是从文本 "ABA BLLO 70000000 12-2022" 里删除前两个单词,把数字分别存入 number、month、year 变量。现有代码的问题在于,你遍历的是文本的每个字符而非拆分后的单词,而且 strip("") 完全没有实际作用,根本没实现拆分提取的逻辑。
直接通过字符串拆分就能搞定,具体步骤如下:
先把文本按空格拆分成单词列表:
text = "ABA BLLO 70000000 12-2022" parts = text.split() # 此时 parts 的结果是 ['ABA', 'BLLO', '70000000', '12-2022']跳过前两个单词,提取目标数字:
# 提取大数字并转为整数类型 number = int(parts[2]) # 把日期字符串按'-'拆分,再分别提取月和年 date_parts = parts[3].split('-') month = int(date_parts[0]) year = int(date_parts[1])验证结果可以打印查看:
print(number) # 输出 70000000 print(month) # 输出 12 print(year) # 输出 2022
如果担心文本里有多个连续空格,split() 方法默认会自动处理任意数量的空格,不用额外清洗。要是想兼容前面前缀单词数量变化的情况,也可以用 parts[-2:] 直接取最后两个元素,再按上面的逻辑处理数字即可。
内容的提问来源于stack exchange,提问作者python noobie
相关产品推荐
相关产品推荐

