Python字符串打印为[u'String']
这肯定是一件容易的事,但这确实困扰着我。
我有一个脚本,可以读取网页并使用Beautiful Soup对其进行解析。从汤中提取所有链接,因为我的最终目标是打印出link.contents。
我要解析的所有文本都是ASCII。我知道Python将字符串视为unicode,并且我确信这非常方便,在我的wee脚本中没有用。
每次我去打印一个包含’String’的变量时,我都会被[u'String']
打印到屏幕上。是否有一种简单的方法可以将其恢复为ascii,还是应该编写一个正则表达式来删除它?
回答:
[u'ABC']
将是一元字符串的unicode字符串。美丽的汤总是产生Unicode。因此,你需要将列表转换为单个unicode字符串,然后将其转换为ASCII。
我不知道你是如何得到一元素清单的;content成员将是字符串和标签的列表,这显然不是你所拥有的。假设你确实总是得到一个包含单个元素的列表,并且你的测试实际上仅是 ASCII,则可以使用以下命令:
soup[0].encode("ascii")
但是,请仔细检查你的数据是否真的是ASCII。这很少见。更有可能是latin-1或utf-8。
soup[0].encode("latin-1") soup[0].encode("utf-8")
或者,你可以询问Beautiful Soup原始编码是什么,然后以该编码重新获取:
soup[0].encode(soup.originalEncoding)
以上是 Python字符串打印为[u'String'] 的全部内容, 来源链接: utcz.com/qa/429217.html