如何从字符串中删除('')[重复]

Posted

技术标签:

【中文标题】如何从字符串中删除(\'\')[重复]【英文标题】:How to remove ('') from string [duplicate]如何从字符串中删除('')[重复] 【发布时间】:2020-08-05 15:48:49 【问题描述】:

我正在编写代码以使用 IP Geolocation API 获取地理位置信息。我在我的 jupyter notebook 中使用了以下代码...

try:
    from urllib.request import urlopen
except ImportError:
    from urllib2 import urlopen

ip = '8.8.8.8'
api_key = 'your_api_key'
api_url = 'https://geo.ipify.org/api/v1?'

url = api_url + 'apiKey=' + api_key + '&ipAddress=' + ip
result = urlopen(url).read().decode('utf8')
print(result)

我得到以下结果,但它返回以下字符串...

'"ip":"8.8.8.8","location":"country":"US","region":"California","city":"Mountain View","lat":37.4223,"lng":-122.085,"postalCode":"94043","timezone":"-07:00","geonameId":5375480,"domains":["0--9.ru","000.lyxhwy.xyz","000180.top","00049ok.com","001998.com.he2.aqb.so"],"as":"asn":15169,"name":"Google LLC","route":"8.8.8.0\\/24","domain":"https:\\/\\/about.google\\/intl\\/en\\/","type":"Content","isp":"Google LLC"'

我正在尝试删除开头和结尾的字符串。我尝试通过在结果变量上调用 list 函数来将此字符串更改为列表,但这不起作用。我想获得以下输出...

"ip":"8.8.8.8","location":"country":"US","region":"California","city":"Mountain View","lat":37.4223,"lng":-122.085,"postalCode":"94043","timezone":"-07:00","geonameId":5375480,"domains":["0--9.ru","000.lyxhwy.xyz","000180.top","00049ok.com","001998.com.he2.aqb.so"],"as":"asn":15169,"name":"Google LLC","route":"8.8.8.0\\/24","domain":"https:\\/\\/about.google\\/intl\\/en\\/","type":"Content","isp":"Google LLC"

通过这样做,我将得到一个字典,我可以使用各种键来处理它。任何帮助将不胜感激。

【问题讨论】:

那些' 不在字符串中;这些引号表明整个事情是一个字符串。这个问题类似于询问如何从列表[1, 2, 3] 中删除[]。您需要将字符串解析作为字典。 是的,谢谢! 【参考方案1】:

您可以使用json library

import json
str = '"ip": "8.8.8.8"'
res = json.loads(str)
print(res)

结果将是一个字典。

【讨论】:

【参考方案2】:

如果您想要字典,则不应尝试删除引号,因为它表示string 变量。您应该改用 JSON,因为这是一个有效的 JSON 字符串:

import json
try:
    from urllib.request import urlopen
except ImportError:
    from urllib2 import urlopen

ip = '8.8.8.8'
api_key = 'your_api_key'
api_url = 'https://geo.ipify.org/api/v1?'

url = api_url + 'apiKey=' + api_key + '&ipAddress=' + ip

result = json.loads(urlopen(url).read().decode('utf8'))
print(result)

这将为您提供您正在寻找的字典。

【讨论】:

以上是关于如何从字符串中删除('')[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何从PHP和Javascript中的字符串中删除所有空格[重复]

如何使用mysql从字符串中删除双引号[重复]

如何从ArrayList中删除重复的字符串[重复]

Delphi:如何从内存中完全删除字符串[重复]

php如何从php中的字符串中删除最后一个字符[重复]

如何从 ARGB 中删除重复的字符