如何在python中使用正则表达式将单词添加到下一行?
我需要一个python正则表达式,在包含“line:10.00%”的行下面的每一行的开头添加{\an8},谢谢。考虑到字符串中的输入-如何在python中使用正则表达式将单词添加到下一行?,python,expression,Python,Expression,我需要一个python正则表达式,在包含“line:10.00%”的行下面的每一行的开头添加{\an8},谢谢。考虑到字符串中的输入- s = "00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00%" find = 'line:10.00%' s1 = r"{\an8}" if find in s: s = s1+" "+s print(s)
s = "00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00%"
find = 'line:10.00%'
s1 = r"{\an8}"
if find in s:
s = s1+" "+s
print(s)
Out: {\an8} 00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00%
这一行循环检查当前行的状态,即如果它包含要检查的短语,则设置一个标志(如果是),并更新下一行:
s = '''00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00%
Gonna let you down'''
flag, lines = 0, s.split('\n')
for x, line in enumerate(lines):
if flag and line:
lines[x] = '{\\an8}' + line
flag = 0
if 'line:10.00%' in line:
flag = 1
print('\n'.join(lines))
# 00:01:54.208 --> 00:01:57.166 position:50.00%,middle align:middle size:80.00% line:10.00%
#
# {\an8}Gonna let you down
试试这个,让我知道它是否有效
import re
re.sub('line[^\n]*(\n*)([\w\W])', r'\1an8\2', your_string)
line:10.00%
可以在一行中的任何位置或仅在末尾出现吗?该文件的源是一个WEBvtt格式的字幕文件。re.sub('line[^\n]*(\n*)([\w\w]),r'\1an8\2',您的字符串)
好的,这是前面字符串中“line”一词的通用名称。