Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用python编译并拆分文件中的字符串_Python_Regex_String_Split_Python 3.3 - Fatal编程技术网

使用python编译并拆分文件中的字符串

使用python编译并拆分文件中的字符串,python,regex,string,split,python-3.3,Python,Regex,String,Split,Python 3.3,如何从文件的选定行编译一个字符串,对该字符串运行一些操作,然后将该字符串拆分回原始行并放入同一文件中 我只需要文件的某些行。我无法对文件的其他部分执行操作。我创建了一个类,将这些行与文件分离,并在这些行上运行操作,但我认为在包含文件中可用于这些操作的部分的单个字符串上运行这些操作会更快 或者,如果我能在整个字典上运行这些操作,那也会有所帮助。这些操作是字符串替换和正则表达式替换 我正在使用python 3.3 编辑: 我将在这里更详细地解释这一点,因为我最初的帖子非常模糊(感谢保罗指出这一点)

如何从文件的选定行编译一个字符串,对该字符串运行一些操作,然后将该字符串拆分回原始行并放入同一文件中

我只需要文件的某些行。我无法对文件的其他部分执行操作。我创建了一个类,将这些行与文件分离,并在这些行上运行操作,但我认为在包含文件中可用于这些操作的部分的单个字符串上运行这些操作会更快

或者,如果我能在整个字典上运行这些操作,那也会有所帮助。这些操作是字符串替换和正则表达式替换

我正在使用python 3.3


编辑: 我将在这里更详细地解释这一点,因为我最初的帖子非常模糊(感谢保罗指出这一点)


例如,如果我想修复一个子裂土器(.srt文件),这是一个常见的字幕文件,我会将这样的内容作为输入(这是来自实际的srt文件):

在这里您可以找到正确的示例,在这里提交文件内容会弄乱新行:

…然后我将只修复那些具有实际字幕行的行,而不是那些排序编号行或那些隐藏/显示字幕文件行。因此,我编译的字符串可能是:

“他们在那座山脊上.|他们把我们压制住了。”

然后,我将对该字符串运行操作。然后我必须将这些行保存回文件。修复这些字幕行后,如何将其恢复到原始文件中?我可以使用“|”作为行分隔符拆分已编译和固定的字符串,并将它们放回原始文件,但如何确定哪一行放在哪里?

您可以使用它编辑子RIP文件:

from pysrt import SubRipFile

subs = SubRipFile.open('some/file.srt')

for sub in subs:
    # do something with sub.text
    pass

# save changes to a new file
subs.save('other/path.srt', encoding='utf-8')
您可以使用编辑子RIP文件:

from pysrt import SubRipFile

subs = SubRipFile.open('some/file.srt')

for sub in subs:
    # do something with sub.text
    pass

# save changes to a new file
subs.save('other/path.srt', encoding='utf-8')

欢迎来到SO!您的问题不是很清楚,您能提供一些输入和输出的示例吗?例如,如果我想修复一个子裂土器(.srt文件),这是一个常见的字幕文件,我会将类似这样的内容作为输入:1 00:00:25067-->00:00:27652他们在那个山脊上。2 00:00:27778-->00:00:29780他们压制住了我们。。。然后我将只修复那些具有实际字幕行的行,而不是那些排序编号行或那些隐藏/显示字幕文件行。所以我编译的字符串可能是:“他们在那个山脊上。|他们把我们固定住了。”然后我会对该字符串执行操作。然后我必须将这些行保存回文件中。这里有一个更好的例子,因为我的评论中删除了换行符:@eonhelm您可以编辑您的问题以添加更多详细信息。欢迎使用SO!您的问题不是很清楚,您能提供一些输入和输出的示例吗?例如,如果我想修复一个子裂土器(.srt文件),这是一个常见的字幕文件,我会将类似这样的内容作为输入:1 00:00:25067-->00:00:27652他们在那个山脊上。2 00:00:27778-->00:00:29780他们压制住了我们。。。然后我将只修复那些具有实际字幕行的行,而不是那些排序编号行或那些隐藏/显示字幕文件行。所以我编译的字符串可能是:“他们在那个山脊上。|他们把我们固定住了。”然后我会对该字符串执行操作。然后我必须将这些行保存回文件中。这是一个更好的示例,因为我的评论中删除了换行符:@eonhelm您可以编辑您的问题以添加更多详细信息。谢谢Paolo,这正是我所需要的:)@eonhelm很高兴我能提供帮助:)如果您发现此答案有用,您可以将其标记为已接受。请参阅以了解更多详细信息。谢谢Paolo,这正是我所需要的:)@eonhelm很高兴我能提供帮助:)如果您发现此答案有用,您可以将其标记为已接受。有关更多详细信息,请参阅。