如果找到模式,则使用正则表达式在列中插入字符串

2024-09-29 19:33:49 发布

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

我在数据帧中有一个字符串列,我想在我的模式中插入一个#

例如: 我的模式是字母“pr”后跟任意数量的数字。如果在我的专栏中有一个值“pr123中的问题”,我会将其更改为“pr123中的问题”

我正在尝试一堆代码片段,但没有任何东西对我有效

试图将解决方案更改为“pr#123”,但也没有成功

df['desc_clean'] = df['desc_clean'].str.replace(r'([p][r])(\d+)', r'\1#\2', regex=True)

找到此模式时,替换此列中所有值的最佳方法是什么


Tags: 数据字符串代码cleandf数量字母模式
1条回答
网友
1楼 · 发布于 2024-09-29 19:33:49

如果您需要pr#123,您可以使用

df['desc_clean'] = df['desc_clean'].str.replace(r'(pr)(\d+)', r'\1#\2')

要获取#pr123,可以使用

df['desc_clean'].str.replace(r'pr\d+', r'#\g<0>')

要将pr作为一个单词进行匹配,可以在pr前面添加一个单词边界\b

df['desc_clean'].str.replace(r'\bpr\d+', r'#\g<0>')

regex demo

相关问题 更多 >

    热门问题