斜杠反斜杠,去空格\xa0,连接函数join()
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,',
我们如何将其中的\xa0去掉呢,试了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
另外还有一种更简单的方法,利用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方法:
Python translate() 方法根据参数table给出的表(包含 256 个字符)转换字符串的字符, 要过滤掉的字符放到 del 参数中。接收到move返回的表(字典),之后对字符串进行替换。
join()方法:
join(): 连接字符串数组。将字符串、元组、列表中的元素以指定的字符(分隔符)连接生成一个新的字符串。
join()方法语法:
str.join(sequence),其中,str指定的用来连接的字符(分隔符),sequence是被连接的字符串数组,元组,列表。
返回:返回通过指定字符连接序列中元素后生成的新字符串。
例如:
>>>str = "-";
>>>seq = ("a", "b", "c"); # 字符串序列
>>>print str.join( seq );
a-b-c
可见该处用join方法真的是神来之笔,可谓绝妙!
值得注意的是,split方法中不带参数时,表示分割所有换行符、制表符、空格。
最新文章
- Exynos 4412 Uboot源码解析
- HT for Web 3D游戏设计设计--汉诺塔(Towers of Hanoi)
- HTTPS能有效保护用户隐私
- Android 中的 Service 全面总结
- log4j.properties配置详解(转)
- Elasticsearch 相关名词理解
- android学习笔记一——简介
- CSS3实战开发 表单发光特效实战开发
- Mikit前端框架,轻量级CSS&;JS前端框架
- js验证input输入框(字母,数字,符号,中文)
- .NET使用DAO.NET实体类模型操作数据库
- 4.app是怎么炼成的
- 网络远程唤醒 WOL Magic Packet
- 好用的Quartz管理器类
- css学习_css文字阴影、盒子阴影
- Cannot convert value of type [java.lang.String] to required type [javax.sql.DataSource] for property 'dataSource': no matching editors or conversion strategy found
- 项目中jsp的存放
- ADO对Excel对象进行连接时的 两种方法区别
- 网卡配置/etc/network/interfaces
- gradle 编译 No such property: sonatypeUsername错误解决
热门文章
- Oracle SEQUENCE 具体说明
- 为什么既要有IP地址还要有MAC地址
- Java--不可覆盖的方法
- Python将数据写入excel或者txt,读入csv格式或xls文件,写入csv(写一行空一行解决办法)
- 安装特定版本 sysbench 以及安装时指定特定的mysql客户端
- MTU&;MSS
- [置顶]
 caffe+CPU︱虚拟机+Ubuntu16.04+CPU+caffe安装笔记
- 解决Linux下MySQL登录ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor)问题
- leetcode434
- 跟我学算法-人脸识别(Siamese network) 推导