一、函数说明
1、split()函数
split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list)
语法:str.split(str="",num=string.count(str))[n]
参数说明:
str:表示为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]: 表示选取第n个分片
注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略
2、os.path.split()函数
os.path.split():按照路径将文件名和路径分割开
语法:os.path.split('PATH')
参数说明:
(1)PATH指一个文件的全路径作为参数:
(2)如果给出的是一个目录和文件名,则输出路径和文件名
(3)如果给出的是一个目录名,则输出路径和为空文件名
3、split()函数的嵌套使用
嵌套使用split()函数可实现字符串的前后截取。
4、利用str.lower()he str.upper()来实现对字符串大小写的转换,巧妙使用列表生成式可过滤掉字符串中含有的空白字符等
5、str.strip()函数
语法: rm为要删除的字符序列,当rm为空时,默认删除空白符(包括'\n', '\r', '\t', ' ')
str.strip(rm):删除字符串开头、结尾处,位于 rm删除序列的字符;
str.lstrip(rm):删除字符串开头处,位于 rm删除序列的字符;
str.rstrip(rm):删除字符串结尾处,位于 rm删除序列的字符。
二、使用实例
a = 'www.marsjhao.com.cn'
#以默认分隔符空格的效果为
print a.split()
['www.marsjhao.com.cn']
#注意比较默认空格符和' '的区别
'a b c'.split()
Out[2]: ['a', 'b', 'c']
'a b c'.split(' ')
Out[3]: ['a', 'b', '', '', 'c']
#配合正则表达式使用更加方便
import re
re.split(r'\s+', 'a b c')
Out[5]: ['a', 'b', 'c']
re.split(r'[\s\,]+', 'a,b, c d')
Out[6]: ['a', 'b', 'c', 'd']
re.split(r'[\s\,\;]+', 'a,b;; c d')
Out[7]: ['a', 'b', 'c', 'd']
#以"."为分隔符的效果为
print a.split('.')
['www', 'marsjhao', 'com', 'cn']
#以"."为分隔符分割0次
print a.split('.',0)
['www.marsjhao.com.cn']
#以"."为分隔符分割1次
print a.split('.',1)
['www', 'marsjhao.com.cn']
#以"."为分隔符分割1次并取序号为[1]的元素
print a.split('.',1)[1]
marsjhao.com.cn
#以"."为分隔符分割2次并将分割后的3个元素分别赋给3个变量
a1, a2, a3 = a.split('.',2)
print a1
www
print a2
marsjhao
print a3
com.cn
#将完整的文件路径分离为文件所在文件夹路径和文件名
import os
print os.path.split('D:/Python/python3.6/untitled0.py')
('D:/Python/python3.6', 'untitled0.py')
#嵌套使用split()函数可实现字符串的前后截取
b = 'aaa*www.marsjhao.com.cn@bbb'
print b.split('*')[1].split('@')[0]
www.marsjhao.com.cn
print b.split('*')[1].split('@')[0].split('.')
['www', 'marsjhao', 'com', 'cn']
#利用str.lower()he str.upper()来实现对字符串大小写的转换,巧妙使用列表生成式可过滤掉字符串中含有的空白字符等
listOfTokens = ['I','am','','good','Boy']
print [tok.lower() for tok in listOfTokens if len(tok) > 0]
['i', 'am', 'good', 'boy']
#str.strip()函数使用实例
c = ' \n\t\rpython '
d = ' \npython\t '
c.strip()
'python'
d.lstrip()
'python\t '
e = '123python321'
e.strip('12')
'3python3'