Python正则表达式将所有换行符删除为一行
我有一个问题,行返回导致API调用出现问题,我希望确保行返回不会弄乱json格式 我能想到的最好的方法是删除所有换行符,使所有文本保持在一行。我尝试过像Python正则表达式将所有换行符删除为一行,python,regex,Python,Regex,我有一个问题,行返回导致API调用出现问题,我希望确保行返回不会弄乱json格式 我能想到的最好的方法是删除所有换行符,使所有文本保持在一行。我尝试过像re.sub(r'\s+','',{{test\n\ntext\n\netc.}}}}或替换\n和\r之类的方法,但结果是 试验 正文 等等 在不同的线路上。如何将其调整为测试文本等?使用.replace以空序列替换\n: str = "{test\n\ntext\nnetc." print(str.replace("\n","")) 如果希望
re.sub(r'\s+','',{{test\n\ntext\n\netc.}}}}
或替换\n
和\r
之类的方法,但结果是
试验
正文
等等
在不同的线路上。如何将其调整为测试文本等?使用
.replace
以空序列替换\n
:
str = "{test\n\ntext\nnetc."
print(str.replace("\n",""))
如果希望它用|
替换新行,请按如下方式编写:
str.replace("\n","|"))
输出:
{test||text|netc.
{more | data | test | text | etc.}
编辑:
当然,这将导致输出中出现多个|。为了减少多个新行出现时的这种情况,我们可以使用reducer方法
这是我从中找到的
使用此选项可以看到,对于多个事件,它将只输出一次:
def squeeze(char,s):
while char*2 in s:
s=s.replace(char*2,char)
return s
str = "{more\n\rdata\r\r\r\ntest\n\n\n\n\ntext\n\n\netc.}"
reducedNewLines = squeeze("\n", str)
reducedNewLines = reducedNewLines.replace("\r", "") #take out all the \r as well
print(reducedNewLines.replace("\n"," | "))
输出:
{test||text|netc.
{more | data | test | text | etc.}
试试这个
import re
txt = "Python\n Regex\n to remove all\r line breaks to\r a single line"
print(txt)
x = re.sub(r"\n|\r", "|", txt)
print(x)
- re.sub用字符串替换一个或多个匹配项
- |扮演角色
re.sub
命令,它在包含换行符的单个字符串中正常工作。您可能需要提供更多代码,以便我们能够看到问题。具体来说,是一个。是获得良好帮助的最佳方式。此外,如果您在JSON中遇到换行问题,听起来您可能有比这更重要的问题。(如此反对)