把每句话印在新林上

2024-05-23 19:43:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在一个文本文件里有这样的文本

Long sleeve wool coat in black. Breast pocket.

我想要一个输出,每个句子都打印在下一行,像这样。你知道吗

Long sleeve wool coat in black.

Breast pocket.

我尝试了下面的question但是当它被询问时,它给出的输出是

Long sleeve wool coat in black.

Breast pocket.

None

我还要对多个文本文件这样做,从原始文件中读取,我要用这种方式覆盖文件,分解行。但是当我试着这样做的时候,只有没有人会被写入到它,而不是现有的行。你知道吗

如有任何帮助,我们将不胜感激。你知道吗


Tags: 文件in文本none方式longpocket句子
3条回答

帮你自己一个忙,用^{}代替正则表达式甚至简单的str.split()

from nltk import sent_tokenize

string = "Long sleeve wool coat in black. Breast pocket. Mr. Donald Trump is the president of the U.S.A."

for sent in sent_tokenize(string):
    print(sent)

这就产生了

Long sleeve wool coat in black.
Breast pocket.
Mr. Donald Trump is the president of the U.S.A.

这种方法很可能适用于边缘情况,而大多数其他方法则不适用

尝试:

s = 'Long sleeve wool coat in black. Breast pocket.'
print(s.replace('. ', '.\n'))

尝试:

in_s = 'Long sleeve wool coat in black. Breast pocket.'
in_s += ' '
out = in_s.split('. ')[:-1]
print('.\n'.join(out))

说明:

  • in_s += ' '在字符串末尾添加一个空格,使其以`'结尾。``就像其他句子一样。你知道吗
  • ...in_s.split('. ')...在有句点后跟空格('. ')的地方拆分文本。你知道吗
  • ...[:-1]删除最后一个值,如果文本以句点和空格结尾,则最后一个值将是None
  • ...'\n.join(out)打印前用句点和换行符分隔值。你知道吗

相关问题 更多 >