Python在分隔符后的字符串中插入新行字符

Python在分隔符后的字符串中插入新行字符,python,string,split,Python,String,Split,所以我尝试在段落中找到分隔符后插入一个新行字符 for index, char in enumerate(lines_of_text): if char == period or char == question_mark or char == exclamation_mark: lines_of_text = lines_of_text[:index+1] + '\n' + lines_of_text[index+1:] 问题是,它最终打印出如下内容:

所以我尝试在段落中找到分隔符后插入一个新行字符

for index, char in enumerate(lines_of_text):
    if char == period or char == question_mark or char == exclamation_mark:
        lines_of_text = lines_of_text[:index+1] + '\n' +        lines_of_text[index+1:]
问题是,它最终打印出如下内容:

什么

乌斯特

!!d

e!ab

t

我假设问题在于字符串长度每增加一个'/n'就增加2个字符


但我还没能想出一个解决办法

是的,您在迭代时正在修改某些内容。请尝试构建新结构。您可以使用replace
您的字符串。replace(“!”,“!\n”)