gpt4 book ai didi

python - 匹配直到第一次出现

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:52 25 4
gpt4 key购买 nike

我的 pandas dataframe 列 center 如下所示:

In [6]: df.center.head()
Out[6]:
0 /Users/sachin/uniwork/IMG/center_2017_09_17_20...
1 /Users/sachin/uniwork/IMG/center_2017_09_17_20...
2 /Users/sachin/uniwork/IMG/center_2017_09_17_20...
3 /Users/sachin/uniwork/IMG/center_2017_09_17_20...
4 /Users/sachin/uniwork/IMG/center_2017_09_17_20...
Name: center, dtype: object

我希望摆脱IMG 之前的所有垃圾。但是,当我执行以下字符串替换时,它会替换 IMG 周围的所有内容,包括 IMG 文件夹前后的内容。

In [7]: df.head().center.str.replace(r'[^IMG]+?','')
Out[7]:
0 IMG
1 IMG
2 IMG
3 IMG
4 IMG
Name: center, dtype: object

我假设放置 ? 会阻止它在第一次出现 IMG 之后进行搜索,但事实并非如此,如上所示。

执行上述正则表达式的正确方法是什么?

最佳答案

虽然我更喜欢正则表达式,但我更喜欢 split 的另一种方法,即

df.center.apply(lambda x : '/IMG'+x.split('IMG')[-1])

输出:

0    /IMG/center_2017_09_17_20...1    /IMG/center_2017_09_17_20...2    /IMG/center_2017_09_17_20...3    /IMG/center_2017_09_17_20...4    /IMG/center_2017_09_17_20...Name: center, dtype: object

Or Thanks @Zero

'/IMG' + df.center.str.rsplit('/IMG', 1).str[1]

关于python - 匹配直到第一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46386432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com