除了与正则表达式匹配的前10个元素之外,如何替换所有元素?

时间:2015-01-05 15:21:40

标签: python regex

我使用以下代码从给定文本中删除所有文本元素,如<00:10:12>

f_lrc = open(file_, 'r')
lyrics = f_lrc.read()
lyrics = re.sub(ur'<\d{1,2}:\d{2}\.\d{1,2}>', '', lyrics)

有没有办法将这些元素保留在文本文件的前10行?或者,只保留前10个元素匹配?

1 个答案:

答案 0 :(得分:0)

您可以对文件进行切片,但需要使用readlines()

lines =f_lrc.readlines()
lyrics = lines[10:]
first_part = lines[:10]
yrics = re.sub(ur'<\d{1,2}:\d{2}\.\d{1,2}>', '', '\n'.join(lyrics))
last = '\n'.join(first_part) + yrics 

如果您已经阅读过您的行,然后才能按\n拆分并应用正则表达式:

f=f_lrc.split('\n')
lyrics = f[10:]
first_part = f[:10]
yrics = re.sub(ur'<\d{1,2}:\d{2}\.\d{1,2}>', '', '\n'.join(lyrics))
last = '\n'.join(first_part) + yrics