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



我有一些示例字符串,我必须从pandas Dataframe中提取年份。我不确定怎么做。我尝试使用正则表达式使用熊猫提取方法,但我不成功。

输入:

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

输出:

1990
1997
1962

我尝试使用以下正则表达式:dddd

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

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

提前感谢。

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

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

输出
1997Νόμος4000 (1962)1962

这应该有帮助:

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

最新更新