regex 删除字符串中与特定模式匹配的字符

q3aa0525  于 2023-06-25  发布在  其他
关注(0)|答案(1)|浏览(92)

我想知道是否有一些正则表达式或我可以使用的东西,可以删除字符串中3个字母后跟数字的示例?
例如,我有这个语料库

c = [CLE2 - Single Smalls station 117,
HOU2 - mathdenn,
[SAT2] Pack Singles > Line 7 > Station 04 Kiosk Ticket - ZT410 Shipping Label Not Printing Correcly,
[HOU2] Multiple GW Stations Down in AFE2]

我想应用一些函数,然后返回

c = [Single Smalls station 117
 - mathdenn,
 Pack Singles > Line 7 > Station 04 Kiosk Ticket - ZT410 Shipping Label Not Printing Correcly
 Multiple GW Stations Down in ]

寻找简洁的Python方法来实现这一点。我在网上读了一点正则表达式,但我没有找到一种方法来指定我想删除3个字符后跟一个数字的示例,所以我不会说这回答了我的问题。
我试着这样做:

regex = re.compile('[a-z][0-9]')
regex.findall(corpus[0])

但这只是返回一个char后跟一个数字的示例。也许是某种形式的修改?

qv7cva1a

qv7cva1a1#

下面是Python的方法:

import re

c = '''[CLE2 - Single Smalls station 117,
HOU2 - mathdenn,
[SAT2] Pack Singles > Line 7 > Station 04 Kiosk Ticket - ZT410 Shipping Label Not Printing Correcly,
[HOU2] Multiple GW Stations Down in AFE2]'''

for substr in re.findall(r'\W([A-Z][A-Z][A-Z]\d)\W', c):
    c = c.replace(substr, '')
c = c.replace('[]', '')
print(c)

相关问题