通过python使用条件运算符拆分文本文件

时间:2012-12-14 01:16:06

标签: python text

我有一个巨大的文件,其中包含了超过两天的转录语音。我想超过10万字。

在转录过程中,我通过“< - Name - >”将发言人和会话分开了标记成不同的块。我的问题是,是否可以使用name_speach.txt的命名约定自动将它们处理成文件?

感谢!!!!

测试用例:

测试用例

<--测试0-->
这个是一段测试内容,a quick fox jumps over a lazy dog.

<——测试1——>
,a quick fox just over 啊 辣子 dog!!?是吗?

<——测试2——>
这是一段测试用的text,嗯!

<--Test case 3-->
/* sound track lost @153:12.236 -- 153.18.222 */
…
A quick fox jumps over a {lazy|lame} dog.

1 个答案:

答案 0 :(得分:1)

所以你想要搜索每个模式“&lt; - Name - &gt;”在一个文本文件中(我认为100000字对于计算机内存来说不是很大)。

您可以将正则表达式用于搜索标记。

在Python中,它类似于:

import re

NAMETAG = r'\<\-\- (?P<name>.*?) \-\-\>'

# find all nametags in your string
matches = re.findall(NAMETAG, yourtext)

offset_start_list = []
offset_end_list = []
name_list = []

for m in matches:
    name = m.groups()['name']
    name_list.append(name)

    # find content offset after name tag
    offset_start_list.append(m.end() + 1)

    # the last content's end
    offset_end_list.append(m.start())


offset_end_list.pop(0)
offset_end_list.append(len(yourtext))

for name, start, end in zip(name_list, offset_start_list, offset_end_list):
    # save your files here