我有以下格式的字符串列表:
ae n d <> ih t <> ih z <> w er th <> m eh n sh ax n <> ih n <> p ae s ih ng <> dh ae t <,> ae z <> ae n <> ih g z ae m p ax l <> ah v <> f ay n <> t ax p aa g r ax f iy <,>
这句话的意思是“值得顺便提一下,作为精细排版的一个例子”
我还有另一套表格文件:
4
6
这意味着我需要将上面的字符串替换为
ae n d <> ih t <> ih z <> w er th <> | m eh n sh ax n <> ih n <> p ae s ih ng <> dh ae t <,> ae z <> ae n <> | ih g z ae m p ax l <> ah v <> f ay n <> t ax p aa g r ax f iy <,>
其中第四和第六个<>
已替换为<> |
到目前为止,我已经用这个正则表达式捕获了所有组:
break_match = re.compile("[<]?.[>]+")
for match in re.finditer(break_match, sentence_match):
match_group = match.group(0)
但我不确定如何迭代捕获的组(因为它一次完成),然后替换它们
你在找
re.sub
。repl
参数可以是一个函数,每个非重叠匹配都会调用该函数(将匹配对象作为其一个参数,并返回要替换的字符串)。因此,您可以使用一个类来跟踪状态,并根据需要传入一个成员函数来执行(或不执行)替换一个快速而肮脏的示例可能如下所示:
相关问题 更多 >
编程相关推荐