我有一个字符串,看起来像这样:
6Â 918Â 417Â 712
修剪这个字符串的最简单的方法(就我所理解的Python)是,简单地说这个字符串在一个名为s
的变量中,我们得到:
s.replace('Â ', '')
这应该能起到作用。但是,它当然会抱怨文件blabla.py中的非ASCII码字符'\xc2'
没有编码。
我从来都不太理解如何在不同的编码之间切换。
这是代码,它确实和上面的一样,但是现在它在上下文中。该文件在记事本中另存为UTF-8,并具有以下标题:
#!/usr/bin/python2.4
# -*- coding: utf-8 -*-
代码:
f = urllib.urlopen(url)
soup = BeautifulSoup(f)
s = soup.find('div', {'id':'main_count'})
#making a print 's' here goes well. it shows 6Â 918Â 417Â 712
s.replace('Â ','')
save_main_count(s)
它不会超过s.replace
..。
发布于 2009-08-27 16:57:24
丢弃所有不能解释为ASCII的字符:
def remove_non_ascii(s):
return "".join(c for c in s if ord(c)<128)
请记住,这可以保证与UTF-8编码一起工作(因为多字节字符中的所有字节都将最高位设置为1)。
发布于 2009-08-27 15:59:54
>>> unicode_string = u"hello aåbäcö"
>>> unicode_string.encode("ascii", "ignore")
'hello abc'
发布于 2012-04-22 21:12:10
以下代码将用问号替换所有非ASCII字符。
"".join([x if ord(x) < 128 else '?' for x in s])
https://stackoverflow.com/questions/1342000
复制相似问题