如何从字符串中提取数字(年份)?

2024-10-02 06:22:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有样本字符串,我必须从熊猫数据框中提取年份。我不知道怎么做?我尝试使用正则表达式使用pandas提取方法,但没有成功

输入:

Césio 137 - O Pesadelo de Goiânia (1990)

Nattbuss 807 (1997)

Νόμος 4000 (1962)

输出:

1990

1997

1962

我已尝试使用以下正则表达式:\d\d\d\d

但是在表达式Νόμος 4000 (1962)中,我没有得到预期的结果。我只想提取1962,而不是4000

我的目标是从给出的表达式中提取year

提前谢谢


Tags: 数据方法字符串目标pandas表达式deyear
2条回答

这将有助于:

strings = ["Césio 137 - O Pesadelo de Goiânia (1990)", "Nattbuss 807 (1997)", "Νόμος 4000 (1962)"]

for string in strings:
    str = string.split(" ")
    last = len(str) - 1
    print(str[last].replace("(","").replace(")",""))

结果:

1990
1997
1962

这是一个非常简单的正则表达式

df = pd.read_csv(io.StringIO("""Césio 137 - O Pesadelo de Goiânia (1990)
Nattbuss 807 (1997)
Νόμος 4000 (1962)"""), names=["input"])

myre = re.compile(".*\(([0-9]+)\).*")
df.assign(output=df.input.str.extract(myre))

输出

^{tb1}$

相关问题 更多 >

    热门问题