一、填充显示:靠左、居中、靠右
1、str.ljust(width , fillchar=None) 将字符串靠左
2、str.center(width , fillchar=None) 将字符串居中
3、str.rjust(width , fillchar=None) 将字符串靠右
注意:width设计显示宽度;fillchar指明填充符号,默认为空格。
1)默认空格填充
s = 'jfweif ' ret_left = s.ljust(56) ret_right = s.rjust(56) ret_center = s.center(56) print(ret_left) print(ret_center) print(ret_right)

2)设置fillchar填充
s = 'jfweif ' ret_left = s.ljust(56,'*') ret_right = s.rjust(56,'*') ret_center = s.center(56,'*') print(ret_left) print(ret_center) print(ret_right)

4、str.zfill(width) 左侧用0填充,靠右显示
注意:将字符串按width宽度显示,左侧补0,字符串靠右。
View Code二、删除字符:头、尾
1、str.strip(chars=None) 头、尾删除chars中包含的字符
2、str.lstrip(chars=None) 头删除chars中包含的字符
3、str.rstrip(chars=None) 尾删除chars中包含的字符
注意:chars默认为空格,即删除头\尾的空格
s = ' hello world !' print('str = \'{}\''.format(s)) #头尾删除 ret = s.strip(' h!') print('str.strip(\' h!\') = \'{}\''.format(ret)) #头删除 ret_l = s.lstrip(' h!') print('str.lstrip(\' h!\') = \'{}\''.format(ret_l)) #尾删除 ret_r = s.rstrip(' h!') print('str.rstrip(\' h!\') = \'{}\''.format(ret_r))

三、str.replace(old , new , count) 替换字符
注意:本功能将字符串中old字符替换成new字符,替换的数量按count确定,默认时全部替换。
View Code四、字符串分割
1、str.partition(sep) 从左侧开始分割
2、str.rpartition(sep) 从右侧开始分割
注意:本功能将字符串按sep分割成一个3元的元组tuple。结果中,第一位是sep左侧字符,第二位是sep本身,第三位是sep右侧字符。sep不可以省略。
s = 'ni n hao' print(s) ret = s.partition(' ') print(ret) #结果为:('ni', ' ', 'n hao') print(type(ret)) #返回结果为tuple ret1 = s.rpartition(' ') print(ret1) #结果为:('ni n', ' ', 'hao')
五、字符串切片
1、str.split(sep , maxsplit) 从左侧开始切片
2、str.rsplit(sep , maxsplit) 从右侧开始切片
注意:本功能将字符串按sep进行切分成列表,sep默认为空格。maxsplit表示切割的次数,默认为全部切割。
s = 'ni n hao ne!' print(s) ret = s.split() print(ret) #结果为:['ni', 'n', 'hao', 'ne!'] print(type(ret)) #返回结果为list ret1 = s.split('n',1) print(ret1) #结果为:['', 'i n hao ne!'] ret1 = s.rsplit('n',1) print(ret1) #结果为:['ni n hao ', 'e!']
3、str.splitlines(keepends) 按'\r','\n','\r\n'对字符串切片
注意:自动按'\r','\n','\r\n'将字符串切片成list,keepends可以为True,表示保留切割符,否则默认为删除分隔符。
s = 'ni n\r\n hao\r ne!\nhehe' print(s) ret = s.splitlines() print(ret) #结果为:['ni n hao ne!', 'hehe'] print(type(ret)) #返回结果为list ret = s.splitlines(True) print(ret) #结果为:['ni n hao ne!', 'hehe']
六、str.endswith(suffix , start=None , end=None ) 判断是否以suffix结尾
1、默认判断整个字符串的结尾
s = 'WWWWwwwwwgreg ' ret = s.endswith('g ') print(ret) #结果为: true
2、判断设置范围的子串的结尾
s = 'WWWWwwwwwgreg ' ret = s.endswith('g ',3,8) print(ret) #结果为: false
注意:返回结果为布尔值。
七、str.startswith(prefix , start=None , end=None ) 判断是否以sprefix开头
1、默认判断整个字符串的开头
s = 'jrtwepofk ber ' ret = s.startswith('jr') print(ret) #结果为: true ret1 = s.startswith('jrw') print(ret1) #结果为: false ret2 = s.startswith('') print(ret2) #结果为: true
2、判断设置范围的子串的开头
ret3 = s.startswith('j',4,8) print(ret3) #结果为: false
注意:结果返回布尔值。
八、str.count ( sub , start=None , end=None ) 查找子串数量
1、默认查找范围,即整串查找
s = " rjewmoeprjkpeo" print(s) ret = s.count('w') print(ret)
2、设置start和end,在指定范围内查找
s = " rjewmoeprjkpeo" print(s) ret = s.count('w',2,9) print(ret)
九、查找sub的索引值——find
1、str.find(sub , start=None , end=None) 从左向右查找
2、str.rfind(sub , start=None , end=None) 从右向左查找
注意:当str中,不含有sub时,返回-1;含有sub时,返回sub首字母的索引值。sub可以是一个字符,也可以是一个字符串。可以默认在整个字符串中查找sub,也可以start和end指定范围查找。
s = "fgeo\tkegepkf" print(s) ret = s.find("g") print(ret) #result: 1 s = "fg34eo\tkeg44epk34f" print(s) ret1 = s.find("34",1,4) print(ret1) #result: 2 s = "fgeo\tkegepkf" print(s) ret2 = s.rfind("g") print(ret2) #result: 7 s = "fg34eo\tkeg44epk34f" print(s) ret3 = s.rfind("34",1,4) print(ret3) #result: 2
十、查找sub的索引值——index
1、str.index(sub , start=None , end=None ) 从左向右查找
2、str.rindex(sub , start=None , end=None) 从右向左查找
注意:str.index() 的使用方法同str.find() ,但没找到sub时,抛出异常,而不是-1。
View Code
十一、str.format(*args , **kwargs) 格式化字符串
print('my {} is {}'.format('name','lucy')) # result: my name is lucy print('my {0} is {1}'.format('name','lucy')) # result: my name is lucy print('my {1} is {0}'.format('name','lucy')) # result: my lucy is name print('my {age} is {what}'.format(what=3,age='age')) # result: my age is 3
注意:格式化时,{}中空白,默认顺序排序;{}指定数字编号,按编号顺序;{}指定键值,按键值指代排序。
十二、str.expandtabs(tabsize=8) 将制表符'\T'转换成tabsize个空格
View Code十三、str.join(iterable) 将iterable按str进行迭代填充,连接成一个新的字符串
注意:当iterable是字符串时,在每个字符间填充str;是列表时,在每个元素间填充str;如果是非迭代值,则无法完成填充连接。str除了可以是字符或者字符串,也可以是空白''、空格' '、'\n'、'\t'等。
s1 = "*" s2 = 'hhhhhhhhh' #字符串时,在每个字符间填充 ret = s1.join(s2) print(ret) #print: h*h*h*h*h*h*h*h*h s1 = " * " s2 = ['fefe','rhhrt','432d'] #列表时,在每个元素间填充 ret = s1.join(s2) print(ret) #print: fefe * rhhrt * 432d s1 ='*' s2 = ['word2'] #非可迭代值 ret = s1.join(s2) print(ret) #print: word2
浙公网安备 33010602011771号