2024-09-26 22:55:31 发布
网友
我正在处理一些没有结构的.txt文件(它们很凌乱),它们代表许多页面。为了给他们一些结构,我想确定的页数,因为文件本身没有他们。这可以通过每三行替换一个注释来实现,例如:
\n page: N \n
其中N是数字。这就是我的文件的样子,我还尝试了一个简单的^{}。但是,这个函数混淆了,并且没有给我预期的格式,比如this。你知道如何用某种标识符来替换空格吗?只是试着解析它们并获得一些信息(页面)的位置?。你知道吗
N
我也试过这个:
进口re
replaced = re.sub('\b(\s+\t+)\b', '\n\n\n', text) print (replaced)
如果格式与问题描述中所述的格式相同:
Replace every occurrence of three newlines \n with page: N
\n
page: N
您不必使用re模块。以下简单的方法就可以达到目的:
re
>>> s='aaaaaaaaaaaaaaaaa\n\n\nbbbbbbbbbbbbbbbbbbbbbbb\n\n\nccccccccccccccccccccccc' >>> pages = s.split('\n\n\n') >>> ''.join(page + '\n\tpage: {}\n'.format(i + 1) for i, page in enumerate(pages)) 'aaaaaaaaaaaaaaaaa\n\tpage: 1\nbbbbbbbbbbbbbbbbbbbbbbb\n\tpage: 2\nccccccccccccccccccccccc\n\tpage: 3\n'
不过,我怀疑你的格式没有那么规范,但在我给出一个好的答案之前,你必须包含更多的细节。你知道吗
如果您想用杂乱的空格(我将定义为至少三行换行符和任何其他空格混合在一起)进行拆分,您可以将s.split('\n\n\n')替换为:
s.split('\n\n\n')
re.split(r'(?:\n\s*?){3,}', s)
如果格式与问题描述中所述的格式相同:
您不必使用
re
模块。以下简单的方法就可以达到目的:不过,我怀疑你的格式没有那么规范,但在我给出一个好的答案之前,你必须包含更多的细节。你知道吗
如果您想用杂乱的空格(我将定义为至少三行换行符和任何其他空格混合在一起)进行拆分,您可以将
s.split('\n\n\n')
替换为:相关问题 更多 >
编程相关推荐