如何从字符串中删除日期模式?

时间:2018-10-16 16:17:55

标签: python string

我有一个很长的字符串,与客户互动的注意事项。我正在尝试清理它以便进行一些文本挖掘。我们的员工使用以下格式将日期放入笔记中:

mm/d

,它在字符串中看起来像这样:

10/8 spoke with client about marketing campaign,
8/20 client requested some changes to 100 campaigns

如何从字符串中删除所有这些日期而不删除所有数字?理想情况下,我的输出应如下所示:

spoke with client about marketing campaign, 
client requested some changes to 100 campaigns

2 个答案:

答案 0 :(得分:2)

您可以使用re python模块并使用正则表达式。它具有re.sub()函数,该函数将在字符串中查找正则表达式,并将其所有出现的内容替换为您提供的另一个字符串。

import re
s = '10/8 spoke with client about marketing campaign'
re.sub(r'\d{1,2}/\d{1,2}', '', s)

该代码将用s中的空字符串替换包含一个或两个十进制数字,正斜杠以及一个或两个十进制数字的字符串的任何出现情况。

您也可以使用

re.sub(r'(0?\d|1[0-2])/([1-2]\d|3[01]|0?\d)', '', s)

那个不会匹配“ 05/35”或“ 20/05”之类的东西,这没有意义。

答案 1 :(得分:0)

如果字符串始终遵循此格式,则可以使用str.partition()

s = '10/8 spoke with client about marketing campaign,'
s = s.partition(' ')[-1]
print(s)
# spoke with client about marketing campaign,