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

标签 python line-breaks

<分区>

Google map 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 模块。

关于python - 在 Python 中删除字符串中间的连续字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16001307/

相关文章:

python - 使用 TI Chronos 在 Python 中打开端口时出错

python - 是否可以在不更改同一类的所有其他实例的情况下更改实例的方法实现?

css - 如果列表样式位置设置为内部,如何防止列表项在元素符号后立即中断?

python - 使用相应的对仅对 python 中的特定索引进行排序

python - Argparse 和复杂类型

java - 如何从Java中的文件中删除换行符?

css - 换行后用伪元素填充

c++ Enter按到新行

html - 如何保留输入 :checkbox and an a tag on same line?

python - 解压一个 numpy ndarray 的元组并将其添加到一个新的维度