一、拆分含有多种分隔符的字符串
1.如何拆分含有多种分隔符的字符串
问题: 我们要把某个字符串依据分隔符号拆分不同的字段,该字符串包含多种不同的分隔符,例如:
s = "ab;cd|efg|hi,jkl|mnopq;rst,uvwxyz"
其中;,|,都是分隔符号,如何处理?
方法一: 连续使用str.split()方法,每次处理一种分隔符号
方法二: 使用正则表达式的re.split()方法,一次性拆分字符串
二、调整字符串中文本格式
1. 如何判断字符串a是否以字符串b开头或结尾
问题:某文件系统目录下有一系列文件:a.py,quicksort.c,stack.cpp,b.sh , 编写程序给其中所有.sh文件和.py文件加上用户可执行权限?
解决方案:
使用字符串中的str.startswith()和end.startswith()方法 (注意:多个匹配时参数使用元组)
2.如何对字符串中文本的格式进行调整
问题: 某软件的log文件,其中日期格式为“yyyy-mm-dd”:
我们想把其中日期改为美国日期的格式"mm/dd/yyyy",2017-05-08 ==> 05/08/2017 ,应如何处理?
解决方案:
使用正则表达式re.sub()方法做字符串替换,利用正则表达式的捕获组捕获每个部分内容,在字符串中调整各个组的捕获顺序。
三、字符串拼接
1.如何将多个小字符串拼接成一个大的字符串
问题:在程序中我们将各个参数按次序收集到列表中: ["<0112>", "<32>","<1024x768>","<60>" ],要把各个参数拼接成数据报进行发送"<0112><32><1024x768><60>"
解决方案:
方法一:迭代列表,连续使用“+”操作依次拼接每一个字符串
方法二:使用str.join()方法,更加快速的拼接列表中所有字符串
In [5]: ''.join(pl)Out[5]: '<0112><32><1024x768><60>'
有个列表l = ['abc',123,45,'xyz'],如何让123和45以字符串的方式拼接
四、字符串居中对齐
1.如何对字符串进行左、右、居中对齐
问题: 某个字典存储了一系列属性值
{ "loDist":100.0, "smartCull":0.04, "farclip":477}
在程序中想以工整的格式进行输出,如何处理?
解决方案:
方法一: 使用字符串的str.ljust(),str.rjust(),str.center()进行,右,居中对齐
方法二: 使用format方法,传递类似'<20','>20','^20'参数完成同样任务
2.去掉不需要的字符串
问题:
1.过滤掉用户输入中前后多余的空白字符: ' nick@gmail.com '
2.过滤某windows下编辑文本中的' ': 'hello world '
3.去掉文本中的unicode组合符号(音调):u'zǒu'
解决方案:
方法一: 字符串strip(),lstrip(),rstrip()方法去掉字符串两端字符
方法二:删除单个固定位置的字符,可以使用切片+拼接的方式
方法三:字符串的replace方法或正则表达式re.sub()方法删除任意位置字符
方法四:字符串translate()方法,可以同时删除多种不同字符