python3.6怎么用re.sub去除\n \t \xa0 20

数据是这样的:1'\r\n\t\t\t\t外资(欧美)\t\t\t\t\t\xa0\xa0|\xa0\xa050-150人\t\t\t\t\t\t\t\xa0\xa0|\... 数据是这样的:1'\r\n\t\t\t\t外资(欧美) \t\t \t\t\t\xa0\xa0|\xa0\xa050-150人 \t\t \t\t \t\t\t\xa0\xa0|\xa0\xa0金融/投资/证券,多元化业务集团公司 \t\t\t\t\t']

re.sub(r"'|\n|\t|\r|\xa0","",str(companytype))能除去'但不能去除\n \t \r \xa0

截取具体代码如下

area = t1.xpath('//div[@class="tHeader tHjob"]//span[@class="lname"]/text()')[0]
companytype = t1.xpath('//p[@class="msg ltype"]/text()')
c=re.sub(r"'|\n|\t|\r|\xa0","",str(companytype))
item = str(area) + '\t' + c+ '\n'
file.write(item)

后来还尝试了去掉c=re.sub语句
直接写item=str(area)+‘\t’+str(companytype).replace("\n","").replace("\t","").replace("'","").strip()
发现依旧是可以去除'但无法去除\n等。
请问问题出在哪儿,求解答
展开
 我来答
戏芷桖Vv
2018-04-28 · TA获得超过1010个赞
知道小有建树答主
回答量:6844
采纳率:56%
帮助的人:608万
展开全部
\xa0 是不间断空白符
我们通常所用的空格是 \x20 ,是在标准ASCII可见字符 0x20~0x7e 范围内。
而 \xa0 属于 latin1 (ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breaking space)。
latin1 字符集向下兼容 ASCII ( 0x20~0x7e )。通常我们见到的字符多数是 latin1 的,比如在 MySQL 数据库中。
有如下信息:
'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0,', 'V-neck\xa0\xa0V型领\xa0sleeve\xa0\xa0袖子\xa0,',1

我们如何将其中的\xz0去掉呢,试了re模块的sub方法,发现没有作用,于是又开始查阅相关资料,终于解决了该问题。方法如下:
>>> inputstring = u'\n Door:\xa0Novum \t '
>>> move = dict.fromkeys((ord(c) for c in u"\xa0\n\t"))
>>> output = inputstring.translate(move)
>>> output
' Door:Novum '12345

另外还有一种更简单的方法,利用split方法:
>>> s
'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0'
>>> out = "".join(s.split())
>>> out
'T-shirt短袖圆领衫,体恤衫'
追问
这个我知道,以上方法可以实现去掉\xa0,但是怎么去掉\n \t 这类。我用了re.sub和replace都没成功
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式