sym945 发表于 2021-10-27 17:50:43

不懂就问,有一大段中文字符串,我用正则匹配到了内容,要怎么删除这些内容?

大佬们,我用正则,匹配到了一段字符串的内容了,要怎么把这断内容从这段话中删除掉?
例如
import re

s = """
一二三
关于香蕉的产量xxxx
四五六
关于西瓜的销量xxx
七八九

一二三
代转菠萝的运输xxx
四五六
代转橘子的上涨xxx
七八九

"""

result = re.findall(r'^代转.*|^关于.*', s, re.M)
# 或者 result = re.findall(r'(?:^代转|^关于).*', s, re.M)
print(result)
现在输出是:关于xxx,我想删除的内容是一二三这些

suchocolate 发表于 2021-10-27 18:19:57

当你用re.findall找到你想要的内容,不就是删除了无用内容吗。
import re

s = """
一二三
关于香蕉的产量xxxx
四五六
关于西瓜的销量xxx
七八九

一二三
代转菠萝的运输xxx
四五六
代转橘子的上涨xxx
七八九

"""

result = re.findall(r'(?:^代转|^关于).*', s, re.M)
ss = ''
for line in result:
    ss = f'{ss}\n{line}'
print(ss)

sym945 发表于 2021-10-27 19:42:16

suchocolate 发表于 2021-10-27 18:19
当你用re.findall找到你想要的内容,不就是删除了无用内容吗。

刚下班回家,多谢大佬,完美解决我的问题

kogawananari 发表于 2021-10-27 22:37:20

re.sub   
是str.replace的正则版本
页: [1]
查看完整版本: 不懂就问,有一大段中文字符串,我用正则匹配到了内容,要怎么删除这些内容?