我试图在python上获取此unicode变量类型的值(18000)。 这是变量:
test= '\n\t\t\t\t\t\t\t\t\t\t\t\t18 000\t\t\t\t\t\t\xa0\u20ac\t\t\t\t\t\t\t\t\t\t\t'
我怎样才能获得18000。
我试图做一个url decode(),但我有这个错误:
请帮助我。exceptions.UnicodeEncodeError:' ascii'编解码器不能编码字符 位置25-26:序数不在范围内(128)。
答案 0 :(得分:2)
你有一个unicode字符串,其中包含很多空格和U+20AC EURO SIGN字符;你必须删除这些以获取你的号码:
test = test.strip(u' \t\n\r\xa0\u20ac')
这将从字符串的开头和结尾删除所有换行符,回车符,制表符,空格,不间断空格(U + 00A0字符)和U + 20AC字符:
>>> test = u'\n\t\t\t\t\t\t\t\t\t\t\t\t18 000\t\t\t\t\t\t\xa0\u20ac\t\t\t\t\t\t\t\t\t\t\t'
>>> test.strip(u' \t\n\r\xa0\u20ac')
u'18 000'
当然,它仍然有空格,所以你需要删除它以获得数字:
>>> int(test.strip(u' \t\n\r\xa0\u20ac').replace(' ', ''))
18000