在没有分隔符时以某种方式拆分行的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在没有分隔符时以某种方式拆分行的问题相关的知识,希望对你有一定的参考价值。

我有一个文本文件;

......在表5的上方,我们了解了压力和体积之间的关系。它说......现在我们知道......表9:表示x和y的图。表6全部是关于力量及其对物体的影响....

现在我编写了一个代码来提取其中包含单词table的行;

with open file( <pathname + filename.txt>, 'r+') as f:
   k = f.readlines()
   for line in k:
     if ' Table ' in line:
         print(line)

现在我希望以特定格式打印输出;

(txt文件名),(表id),(表内容)

我通过使用python的.split方法来做到这一点;

x = 'Paper ID:' + filename.split('.')[0] + '|' + 'Table ID:' + line.split(':')[0] + '|' + 'Table Content:' + line.split(':')[1] + '|' 

现在,正如您所看到的,我可以将表id和表内容分开,其中有一些分隔符(:)。在没有分隔符的情况下,如果对于这些行,我该如何做同样的事情;

在表5中,我们理解压力和体积之间的关系。它说...现在我们知道..或者在表7中我们看到了....

?

有人可以帮忙吗?

答案

您可以搜索模式Table <number>然后在该位置拆分。 你可以使用re.split(pattern, string, maxsplit=0, flags=0)re.findall(pattern, string, flags=0)

re.split('Table [0-9]', line)[-1]

会给你以下内容(内容)。

re.findall('Table [0-9]', line)

将为您提供带有ID的表格,您可以从中提取它。

关于re.splitre.findall的Python文档

以上是关于在没有分隔符时以某种方式拆分行的问题的主要内容,如果未能解决你的问题,请参考以下文章

sql将字符串拆分为始终相同数量的片段

是否有可能在反序列化时以某种方式捕获与任何 POCO 属性不匹配的 JSON 数据的其余部分?

将分隔列拆分为另一个表中的单独行的高效查询

指定从 Qt 应用程序复制的文本格式?粘贴时以某种方式使其他应用程序崩溃

在换行的情况下拆分字符串[重复]

PowerBI将分隔列拆分为重复行