python 3 正则匹配问题

正则表达式reg如下

。(<--此处有\n换行)

[0:2.760,0:6.840]  明天上午09:28来办公室开会。

后台打印结果:。\n[0:2.760,0:6.840]  明天上午09:28来办公室开会。

字符串text如下

丹丹。(<--同样有\n)

[0:2.760,0:6.840]  明天上午09:28来办公室开会。

后台打印结果:丹丹。\n[0:2.760,0:6.840]  明天上午09:28来办公室开会。

目标:替换后只剩下 丹丹 两个字,括号内文字为注释

请问如何才能用re.sub()实现?

如果你只是替换子字符串,不需要其它正则语法,用字符串对象的replace()方法比较好 

sub = '。\n[0:2.760,0:6.840]  明天上午09:28来办公室开会。'
text = '丹丹。\n[0:2.760,0:6.840]  明天上午09:28来办公室开会。'
print(text.replace(sub,""))

 

看这样写,是不是符合输出结果要求:

import re
s ="""丹丹。
[0:2.760, 0:6.840] 明天上午09: 28来办公室开会。
"""
#reg='(\。\n.*)'#获取句号及句号后所有字符包括换行符,用于替换。

reg = '。\n\[0:2.760, 0:6.840\] 明天上午09: 28来办公室开会。'
r=re.sub(reg,'',s)
print(r)
#输出结果:

丹丹

 

import re
reg = '。\n\[0:2\.760,0:6\.840\]  明天上午09:28来办公室开会。'
text = '丹丹。\n[0:2.760,0:6.840]  明天上午09:28来办公室开会。'
print(re.sub(reg ,'', text))

 

抱歉,请您把用例和结果再详细的描述一下

我也没太明白。你能举例说明一下吗?原字符串是什么,替换后的结果又是什么

import re

reg = '。\n[0:2.760,0:6.840]  明天上午09:28来办公室开会。'

text = '丹丹。\n[0:2.760,0:6.840]  明天上午09:28来办公室开会。'

print(re.sub(reg ,'', text))  

丹丹

上述代码怎样修改才能得到丹丹这个结果?

您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~

如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~

ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632

非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!

速戳参与调研>>>https://t.csdnimg.cn/Kf0y