【发布时间】:2019-10-04 14:25:47
【问题描述】:
我有一个文本文件,其中超过 25 个单词的行应该被分解:
确切地说,我希望代码执行以下操作:
1) 计算每行中的单词数(单词定义为由空格字符分隔的任何内容......所以像“sample-word.”这样的东西仍然被认为是一个单词)。如果字数小于或等于 25,则直接返回该行。
2) 如果为 false(大于 25),则从左到右搜索该行的第一个逗号字符,然后在逗号后立即拆分。
示例:
line1: phrase from a test line, which I want to split, and I don't know how.
到
line1: phrase from a test line,
line2: which I want to split, and I don't know how.
3) 如果没有找到逗号字符,则从左到右搜索第一个“和”(包括 and 之后的空格,因此它不会像 android 那样拆分单词)和在 "and " 之前立即拆分(与拆分之后的位置不同)。
例子
line1: phrase from a long sentence and I want to split
到
line1: phrase from a long sentence
line2: and I want to split
5)如果没有找到“and”,则在 25 个单词之后将行拆分(这是上面链接中的其他解决方案可以做的)。
6) 将代码从 1-5 循环运行 7 次,因为即使在一行被打断之后,剩余的行仍然可以有超过 25 个单词。代码不需要高效或优雅,所以我认为循环是最简单的编码方式。
7) 保存到 ouput.txt 文件。
请注意,我只希望对超过 25 个单词的行进行上述分隔...分隔每个逗号、冒号、分号和“和”字不是我所需要的。
提前非常感谢您。
【问题讨论】:
标签: python linux bash text split