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'
Run Code Online (Sandbox Code Playgroud)
为了进一步处理,我想首先删除所有换行符.但是,我不知道该怎么做
results_str.replace('\n', "")
Run Code Online (Sandbox Code Playgroud)
不起作用,.ie,它返回相同的字符串而不替换'\n',因为行继续符.
当我加倍反斜杠时也会发生同样的事情
results_str.replace('\\n', "")
Run Code Online (Sandbox Code Playgroud)
有小费吗?
kin*_*all 11
results_str.replace('\n', "")
Run Code Online (Sandbox Code Playgroud)
你真是太近了 它\是字符串文字中的转义字符,因此您必须将其加倍,或使用原始字符串:
results_str.replace('\\n', "")
results_str.replace(r'\n', "")
Run Code Online (Sandbox Code Playgroud)
还要记住Python字符串是不可变的:replace()返回一个新字符串,因为现有字符串不能被修改.如果要保留更改的字符串,则必须将其分配给某个名称,例如原始名称:
results_str = results_str.replace(r'\n', "")
Run Code Online (Sandbox Code Playgroud)
虽然您可能希望以不关心换行符的方式处理数据.这看起来像JSON,所以你应该使用Python json模块,而不是试图自己解析它.