代码之家  ›  专栏  ›  技术社区  ›  urschrei

如何删除重复的非相邻字符串

  •  0
  • urschrei  · 技术社区  · 15 年前

    给定的行如下所示:
    Blah \cite[9.1173]{Joyce:1986aa}\autocite[42]{Kenner:1970ab}\autocite[108]{Hall:1960aa} bbb.\n
    我想删除 \autocite ,结果如下:
    Blah \autocite[9.1173]{Joyce:1986aa}[42]{Kenner:1970ab}[108]{Hall:1960aa} bbb.\n

    但是,我很难用regex的形式来表达这一点(我使用的是python2.7re模块),因为我不确定如何制定 仅删除第二次和随后出现的 奥托克利特 当后面跟着 […]{…} ,直到遇到空格或句点。

    2 回复  |  直到 15 年前
        1
  •  3
  •   Ignacio Vazquez-Abrams    15 年前

    l = s.split('\\autocite')
    print '%s\\autocite%s' % (l[0], ''.join(l[1:]))
    
        2
  •  0
  •   Colin Hebert    15 年前

    (?<=\\autocite)(.*?)\\autocite(.*) \1\2