【发布时间】:2022-01-11 10:00:10
【问题描述】:
如果字符串与指定的模式匹配,我正在尝试删除字符串的结尾部分。
这是我正在使用的两种字符串格式:
ColA
2-OX-1011054-LWJ04-HT-01
2-VH-0611052-LWJ04-HT-001
我想从两者中删除-01 和-001。
我知道我可以写一些东西来删除最后一个 - 之后的所有内容,但是在不同模式的那一列中有很多其他字符串,如果我这样做会搞砸。
所以如果字符串与模式完全匹配,我只想删除最后一部分。
我以前使用过类似的东西,但我不能 100% 确定它是如何工作的,但我猜它可以根据我的目的进行重构:
report['ColA'] = report['ColA'].str.replace(r'(?<=^\w{2}-\d{5}-\d{3})(-\d+)', '', regex=True)
编辑:应指定并非所有结束编号都是01 或001。它可以是从000 到999 的任意数字
【问题讨论】: