python中去掉字符串中的\xa0、\t、\n - 知乎专栏
文章推薦指數: 80 %
xa0 是不间断空白符 我们通常所用的空格是\x20 ,是在标准ASCII可见字符0x20~0x7e 范围内。
而\xa0 属于latin1 (ISO/IEC_8859-1)中的扩展字符 ...
无障碍写文章登录/注册\xa0是不间断空白符 我们通常所用的空格是\x20,是在标准ASCII可见字符0x20~0x7e范围内。
而\xa0属于latin1(ISO/IEC_8859-1)中的扩展字符集字符,代表空白符nbsp(non-breakingspace)。
latin1字符集向下兼容ASCII(0x20~0x7e)。
通常我们见到的字符多数是latin1的,比如在MySQL数据库中。
有如下信息:'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0,','V-neck\xa0\xa0V型领\xa0sleeve\xa0\xa0袖子\xa0,',我们如何将其中的\xz0去掉呢,试了re模块的sub方法,发现没有作用,于是又开始查阅相关资料,终于解决了该问题。
方法如下:>>>inputstring=u'\nDoor:\xa0Novum\t'
>>>move=dict.fromkeys((ord(c)forcinu"\xa0\n\t"))
>>>output=inputstring.translate(move)
>>>output
'Door:Novum'另外还有一种更简单的方法,利用split方法:>>>s
'T-shirt\xa0\xa0短袖圆领衫,体恤衫\xa0'
>>>out="".join(s.split())
>>>out
'T-shirt短袖圆领衫,体恤衫'可以发现利用translate方法、split()可以完美解决,并且还可以替换\t\n字符,由此又学到了新知识!关于ord函数:ord()函数是chr()函数(对于8位的ASCII字符串)或unichr()函数(对于Unicode对象)的配对函数,它以一个字符(长度为1的字符串)作为参数,返回对应的ASCII数值,或者Unicode数值,如果所给的Unicode字符超出了你的Python定义范围,则会引发一个TypeError的异常。
关于fromkeys方法:dict中的fromkeys方法目的是创建一个只有key的字典,内部利用for循环,使三个字符的asii码值成为可迭代对象(本来的整数是不可迭代的),分别对其迭代,存入字典。
关于translate方法:Pythontranslate()方法根据参数table给出的表(包含256个字符)转换字符串的字符,要过滤掉的字符放到del参数中。
接收到move返回的表(字典),之后对字符串进行替换。
join()方法:join():连接字符串数组。
将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。
可见该处用join方法真的是神来之笔,可谓绝妙!值得注意的是,split方法中不带参数时,表示分割所有换行符、制表符、空格。
发布于2018-09-1211:31字符串编程语言赞同6添加评论分享喜欢收藏申请转载
延伸文章資訊
- 1python去除\ufeff、\xa0、\u3000 - zqifa - 博客园
\xa0 是不间断空白符 我们通常所用的空格是\x20 ,是在标准ASCII可见字符0x20~0x7e 范围内。 而\xa0 属于latin1 (ISO ...
- 2XA0 - Prose Field Airport - AirNav
FAA Identifier: XA0. Lat/Long: 33-08-53.4000N 097-16-48.1000W 33-08.890000N 097-16.801667W 33.148...
- 3RX8804CE XA0 Epson Timing - Mouser Electronics
RX8804CE XA0 Epson Timing Epson Electronics America RX8804CE:XA0 REAL TIME CLOCK +/-3.4PPM DTCXO ...
- 4Remove \xa0 from a string in Python | bobbyhadz
The \xa0 character represents non-breaking space, so the way to remove it from a string is to rep...
- 5How to remove \xa0 from string in Python? - Stack Overflow
\xa0 is actually non-breaking space in Latin1 (ISO 8859-1), also chr(160). You should replace it ...