您的位置:首页 > 编程语言 > Python开发

Python进阶强化训练之字符串处理技巧

2016-09-19 09:51 441 查看


转载博客地址:https://ansheng.me/


内容源自刘硕老师的《Python进阶强化训练》


视频课程:http://coding.imooc.com/class/62.html




如何拆分含有多种分隔符的字符串?

实际案例

我们要把某个字符串依据分隔符号拆分不同的字符段,该字符串包含多种不同的分隔符,例如:

其中
<,>,<;>,<|>,<\t>
都是分隔符,如何处理?


解决方案

连续使用
split()
方法,每次处理一种分隔符

使用正则表达式的
re.split()
方法,一次性拆分字符串


如何判断字符串a是否以字符串b开头或结尾?

实际案例

如某目录有如下文件:

现在需要给
.sh
.py
结尾的文件夹上可执行权限


解决方案

使用字符串的
startswith()
endswith()
方法


如何调整字符串中文本的格式?

实际案例

某软件的日志文件,其中日期格式为
yyy-mm-dd
:

需要把其中日期改为美国日期的格式
mm/dd/yyy
,
2016-09-15
--> 09/15/2016
,要如何处理?


解决方案

使用正则表达式
re.sub()
方法做字符串替换

利用正则表达式的捕获组,捕获每个部分内容,在替换字符串中各个捕获组的顺序。


如何将多个小字符串拼接成一个大的字符串?

实际案例

在设计某网络程序时,我们自定义了一个基于
UDP
的网络协议,按照固定次序向服务器传递一系列参数:

在程序中我们将各个参数按次序收集到列表中:

最终我们要把各个参数拼接成一个数据包进行发送:


结局方案

迭代列表,连续使用
'+'
操作依次拼接每一个字符串

使用
str.join()
方法,更加快速的拼接列表中所有字符串

如果列表中有数字,可以使用生成器进行转换:


如何对字符串进行左, 右, 居中对齐?

实际案例

某个字典中存储了一系列属性值:

在程序中,我们想以以下格式将其内容输出,如何处理?


解决方案

使用字符串的
str.ljust()
,
str.rjust
,
str.cente()
进行左右居中对齐

使用
format()
方法,传递类似
'<20'
,
'>20'
,
'^20'
参数完成同样任务


如何去掉字符串中不需要的字符?

实际案例

过滤掉用户输入卡后多余的空白字符:
anshengm.com@gmail.com


过滤某windows下编辑文本中的’\r’:
hello
word\r\n


去掉文本中的unicode组合符号(音调): ‘ni hao, chi fan’


解决方案

字符串
strip()
,
lstrip()
,
rstrip()
方法去掉字符串两端字符

删除某个固定位置的字符,可以使用切片+拼接的方法

字符串的
replace()
方法或正则表达式
re.sub()
删除任意位置字符

使用
re.sub()
删除多个

字符串
translate()
方法,可以同时删除多种不同字符


转载博客地址:https://ansheng.me/


内容源自刘硕老师的《Python进阶强化训练》


视频课程:http://coding.imooc.com/class/62.html

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python 视频