Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/string/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有选择地替换字符串中的换行符(python)_Python_String_Replace - Fatal编程技术网

有选择地替换字符串中的换行符(python)

有选择地替换字符串中的换行符(python),python,string,replace,Python,String,Replace,我已经在这里阅读了不同的Q/A,但找不到我的解决方案。 我有一些凌乱的长文本,需要用白色的空格替换它的断线,只有当它在句子的中间(不在后)、“或”或“或”时才替换。 例: 输出必须是: "this line break must stay. but this one not." 使用带有负lookback的正则表达式。这里有一个正则表达式教程,当我不确定某些用法时,我会参考它: 重新导入 p=re.compile(“(?输入和输出似乎相同。好的,谢谢!我是新来的,不知道问题编辑器中换行符

我已经在这里阅读了不同的Q/A,但找不到我的解决方案。 我有一些凌乱的长文本,需要用白色的空格替换它的断线,只有当它在句子的中间(不在后)、“或”或“或”时才替换。 例:

输出必须是:

"this line break must stay.  
but this one not."

使用带有负lookback的正则表达式。这里有一个正则表达式教程,当我不确定某些用法时,我会参考它:

重新导入

p=re.compile(“(?输入和输出似乎相同。好的,谢谢!我是新来的,不知道问题编辑器中换行符的两个空格…我似乎在换行符方面有很多问题:)有趣的方法。如果你用
(\?\!!\124\)替换
[.?!]
让它更具可读性?很好,谢谢!我现在就试试。看起来我必须调整它,但你给了我方向,谢谢。这里没有必要,我把它放在代码中,因为我是从另一个我不理解的代码片段复制粘贴的。我试图调整它,但它在我的代码中不起作用,所以要确保我尝试过它在一个新的clean.py文件中,复制/粘贴您的代码,并在最后添加打印(文本)。不起作用。仍然有4个换行符。我正在python 3上使用Pycharm。我的问题是什么?您是说我发布的示例代码片段在您的端不起作用?还是该代码片段起作用,但您无法使其适应您的代码?
"this line break must stay.  
but this one not."
import re
p = re.compile('(?<![.!?])\n')
text = "hello,\nMy name is Hal.\nHow are\nyou doing?\n"
re.sub(p, ' ', text)
# outputs:
'hello, My name is Hal.\nHow are you doing?\n'