解析:如何删除 Unicode 字符?

Parsing: How do I strip out Unicode Characters?

我写了一些代码来抓取此网页上中断元素之间的文本 http://www.virginiaequestrian.com/main.cfm?action=greenpages&sub=view&ID=10478

我认为我走在正确的轨道上,但现在我得到了一些不好的价值观 以下是我的结果 [u'2133 Craigs Store Road', u'Afton,\r\n\t\tVA \xa0\r\n\t\t22920', u'联系人:', u'电子邮件地址:', u'网址:', u'Phone: 434-882-3150', u'']

我需要弄清楚如何从我的结果值中去除 unicode。有人可以帮忙吗?

r=requests.get('http://www.virginiaequestrian.com/main.cfm?action=greenpages&sub=view&ID=10478')
soup=BeautifulSoup(r.content,'lxml')
tbl=soup.findAll('table')[2]

Contact=tbl.findAll('p')[0]

list=[]
for br in Contact.findAll('br'):
    next = br.nextSibling
    text=next.strip()
    list.append(text)
print list
from bs4 import BeautifulSoup, NavigableString, Tag
import requests
import re

r=requests.get('http://www.virginiaequestrian.com/main.cfm?action=greenpages&sub=view&ID=10478')
soup=BeautifulSoup(r.content,'lxml')
tbl=soup.findAll('table')[2]

Contact=tbl.findAll('p')[0]

list=[]
for br in Contact.findAll('br'):
    next = br.nextSibling
    regex = re.compile(r'[\n\r\t\xa0]')
    text=next.strip()
    text=regex.sub(' ', next)
    list.append(text)
print list          

我进一步研究了一下,发现我可以使用正则表达式来删除那些 values.I 仍然存在间距问题 [u'2133 Craigs Store Road', u'Afton, VA 22920', u'联系人:', u'电子邮件地址:', u'网站:', u'Phone: 434-882-3150 ', 你' '] 不过至少人物没了

您可以使用 str 类型具有的替换内置函数。

text = next.strip().replace("\n", "").replace("\t", "").replace("\r", "")

这样你就可以替换 \n\t\r 并用任何东西替换它们