如何替换与正则表达式匹配的前 10 个元素以外的所有元素?
How to replace all except first 10 elements matched with 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 个元素匹配?
您可以切片您的文件,但您需要使用 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
我使用以下代码从给定文本中删除所有文本元素,例如 <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 个元素匹配?
您可以切片您的文件,但您需要使用 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