首页 > 解决方案 > 如何使用 Python re 删除所有以字母或数字开头并以“PM”结尾的子字符串

问题描述

我在我的文本文件中发现了一些由图像文件引起的随机代码,我想删除那些以字母或数字开头但以“PM”结尾的随机代码:例如,有一个文本:

iSD08LXjpg2021330401PM大陸不可以給60歲以上人士打香港專找60歲以上人士去打,做白老鼠

日本與美國比還是很不錯的USA死亡才多呢日媒體報道jpg2021321056PM

理想的结果是:

大陸不可以給60歲以上人士打香港專找60歲以上人士去打,做白老鼠

日本與美國比還是很不錯的USA死亡才多呢日媒體報道

但我不知道如何使用 re 删除它。

标签: pythontextnlpre

解决方案


您想删除以 PM 结尾的罗马字母和阿拉伯数字的每个连续段。这是通过一个简单的正则表达式实现的:

[a-zA-Z0-9]*PM

a-z描述所有小写拉丁字母的范围,等效于A-Z0-9*表示任意数量的字符,因为您的字符串可能具有任意长度。PM是固定结束字符串。

当然,您必须确保这些字符串不包含特殊字符,例如ü. 如果有,请酌情添加字符组。

实际的python代码将是

    re.sub(r'[a-zA-Z0-9]*PM',"",inputtext)

推荐阅读