首页 > 解决方案 > 正则表达式:仅提取数字直到第一个空格

问题描述

我有以下数据:

#1314515 22-09-2021

并且只需要提取数字而不是日期,如下所示:

1314515

已尝试以下正则表达式组合但不起作用:

[\s0-9]+
\s[0-9]+

请帮助正确组合。

标签: pythonregexpandas

解决方案


使用正则表达式和pd.Series.str.extract

df['col'] = df['col'].str.extract('(\d+)(?=\s)')

转换为整数:

df['col'] = df['col'].str.extract('(\d+)(?=\s)').astype(int)

解释


推荐阅读