python - 模式后提取字符串

标签 python regex pandas

我有一系列的url

www.domain.com/calendar.php?month=may.2019
www.domain.com/calendar.php?month=april.2019
www.domain.com/calendar.php?month=march.2019
www.domain.com/calendar.php?month=feb.2019
...
...
...
www.domain.com/calendar.php?month=feb.2007

我想逐年提取。

我在找什么

2019
2019
...
...
2007

并将它们保存到另一列

这是我所拥有的:

data["urls"].str.extract('(?<=month=).*$')

最佳答案

修正你的代码

df["urls"].str.extract('(?<=month=).*\.(\d{4})$')

如果您相信所有人都具有相同的模式,那么这些应该有效。

拆分

df["urls"].str.rsplit('.', 1).str[-1]

切片

df["urls"].str[-4:]

关于python - 模式后提取字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56528221/

相关文章:

c# - 需要一些帮助来破译正则表达式

pandas - 从一些 odbc 连接到没有 csv 的 pandas 表

python - 如何显示 Pandas 数据框的子集?

python - StringIO 生成的包含 BOM 的 csv 文件

python - 将文本添加到 pandas dataframe plot

python - 如何在Python中解压字符串?

PHP 使用正则表达式分解字符串

python - 从字典列表中仅打印 1 项的快捷方式

python - python中字符串的上下文相关拆分

python - groupby ("date") - 获取最小和最大的日期时间