You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python如何提取字符串首个数字前的内容以获取国家名称

匹配逻辑

观察所有文本行的共性特征:国家名称后必然跟随两类分界符之一:

  1. 空格+数字(整数/浮点数都适用)
  2. 空格+横杠-
    只要提取每行开头到第一个分界符之前的内容,即可得到完整国家名。

不同工具实现方案

1. 通用正则表达式规则

核心匹配规则(支持所有兼容PCRE正则的工具):

^(.+?)(?=\s*\d|\s+-)

2. 终端快速处理(grep实现)

直接读取文本文件提取的命令:

grep -oP '^(.+?)(?=\s*\d|\s+-)' 目标文件名.txt

执行后输出结果:

United States of America
United Kingdom
Russia

3. Python代码实现

import re

text_lines = [
    "United States of America 1999 - some text here",
    "United Kingdom 2001.1 - some more text here",
    "Russia - Some extra text here"
]
match_rule = r'^(.+?)(?=\s*\d|\s+-)'
for line in text_lines:
    country_name = re.match(match_rule, line).group(1)
    print(country_name)

国家名对应中文通用译法

  • 美国(全称为美利坚合众国)
  • 英国(全称为大不列颠及北爱尔兰联合王国)
  • 俄罗斯(全称为俄罗斯联邦)

内容的提问来源于stack exchange,提问作者Maamoun Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.12 08:36:03