Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/350.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_Line Breaks - Fatal编程技术网

在Python中删除字符串中间的连续字符

在Python中删除字符串中间的连续字符,python,line-breaks,Python,Line Breaks,Google maps API的标准返回值如下所示-从字节转换为字符串后: b'{\n "destination_addresses" : [ "Washington, DC, USA" ],\n "origin_addresses" : [ "New York, NY, USA" ],\n "rows" : [\n {\n "elements" : [\n {\n "distance" : {\n

Google maps API的标准返回值如下所示-从字节转换为字符串后:

b'{\n   "destination_addresses" : [ "Washington, DC, USA" ],\n   "origin_addresses" : [ "New York, NY, USA" ],\n   "rows" : [\n      {\n         "elements" : [\n            {\n               "distance" : {\n                  "text" : "370 km",\n                  "value" : 369720\n               },\n               "duration" : {\n                  "text" : "3 hours 48 mins",\n                  "value" : 13672\n               },\n               "status" : "OK"\n            }\n         ]\n      }\n   ],\n   "status" : "OK"\n}\n'
为了进一步处理,我想先删除所有换行符。然而,我不知道怎么做

results_str.replace('\n', "") 
不起作用,。即,由于行连续字符,它返回相同的字符串而不替换“\n”

当我加倍反斜杠时也会发生同样的事情

results_str.replace('\\n', "") 
有什么建议吗

results_str.replace('\n', "") 
你太接近了。
\
是字符串文字中的转义字符,因此必须将其加倍,或使用原始字符串:

results_str.replace('\\n', "") 
results_str.replace(r'\n', "") 
还要记住Python字符串是不可变的:
replace()
返回一个新字符串,因为不能修改现有字符串。如果要保留更改的字符串,必须将其指定给某个名称,例如原始名称:

results_str = results_str.replace(r'\n', "")

尽管您可能希望以一种不关心换行符的方式处理数据。这看起来像是JSON,所以与其自己解析它,不如使用Python
JSON
模块。

这是一个JSON响应。您应该使用
json
模块来解析字符串,而不是试图弄乱字符串:

import json
result = b'{\n   "destination_addresses" : ...'
obj = json.loads(obj.decode('utf-8'))

你说“不行”是什么意思?如果我执行
str.replace(“\n”,”)
,它将返回相同的字符串,而不包含注释的所有
\n
sthank。我以前尝试过加倍:
results\u str.replace('\\n',“”)
,但由于某些原因,它不起作用。我来看看JSON模块wait,您是否将结果重新分配回
results\u str
?我将添加一些关于这方面的内容。@bluewoodtree:您是否执行
results\u str=results\u str.replace('\\n',“”)
?omg。对不起,现在太早了…尴尬…投票否决我,结束这个问题。。。但是感谢JSON推荐,它看起来非常方便