скажем, у меня есть строка вроде:
s = "Hello world. Hello world.\n\n This is foo.\n Goodbye world."
В настоящее время я разделяю эту строку на предложения с помощью .
, используя
from nltk import tokenize
sentences = tokenize.sent_tokenize(s)
sentences = ['Hello world.', 'Hello world.', 'This is foo.', 'Goodbye world.']
Мне нужно сделать несколько подстановок в каждом предложение, что-то вроде этого:
for i, sentence in enumerate(sentences):
if "world" in sentence:
sentences[i] = sentence.replace("world", "internet")
if "foo" in sentence:
sentences[i] = sentence.replace("foo", "me")
Но если после их разделения я хочу снова присоединиться к ним и сохранить разделители строк \n
, вывод будет неправильным
ss = " ".join(sentences)
print(ss)
Hello internet. Hello internet. This is me. Goodbye internet.
Это должен быть правильный вывод:
Hello internet. Hello internet.
This is me.
Goodbye internet.
Есть идеи?