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