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等。
请问问题出在哪儿,求解答 展开
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等。
请问问题出在哪儿,求解答 展开
1个回答
展开全部
\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短袖圆领衫,体恤衫'
我们通常所用的空格是 \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都没成功
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询