西西河

主题:文问题,关于正则表达式 -- pastebt

共:💬26 🌺8 新:
全看分页树展 · 主题 跟帖
家园 不用正则也不错啊。

问题的逻辑比较清楚。先判断a出现后,然后直到b出现之前的3都不要,就可以了。

代码参见 http://paste.pocoo.org/show/134757/

我也贴在下面一份,不熟悉如何在西西河设置代码格式了。

def replace(line, start = 'a', end = 'b', source = '3', target = ''):

IN = False

for ch in line:

if ch == start:

if not IN:

IN = True

yield ch

elif ch == end:

if IN:

IN = False

yield ch

elif ch == source and IN:

yield target

else:

yield ch

def main():

line = '1234a5635367312b563789'

print ''.join(list(replace(line)))

if __name__ == "__main__":

main()

## output 1234a5656712b563789

关键词(Tags): #Python
全看分页树展 · 主题 跟帖


有趣有益,互惠互利;开阔视野,博采众长。
虚拟的网络,真实的人。天南地北客,相逢皆朋友

Copyright © cchere 西西河