一、填充显示:靠左、居中、靠右
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)
View Code
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)
View Code
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))
View Code
三、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')
View Code
五、字符串切片
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!']
View Code
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']
View Code
六、str.endswith(suffix , start=None , end=None ) 判断是否以suffix结尾
1、默认判断整个字符串的结尾
s = 'WWWWwwwwwgreg'ret= s.endswith('g')print(ret) #结果为: true
View Code
2、判断设置范围的子串的结尾
s = 'WWWWwwwwwgreg'ret= s.endswith('g',3,8)print(ret) #结果为: false
View Code
注意:返回结果为布尔值。
七、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
View Code
2、判断设置范围的子串的开头
ret3 = s.startswith('j',4,8)print(ret3) #结果为: false
View Code
注意:结果返回布尔值。
八、str.count ( sub , start=None , end=None )查找子串数量
1、默认查找范围,即整串查找
s = "rjewmoeprjkpeo"
print(s)
ret= s.count('w')print(ret)
View Code
2、设置start和end,在指定范围内查找
s = "rjewmoeprjkpeo"
print(s)
ret= s.count('w',2,9)print(ret)
View Code
九、查找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
View Code
十、查找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
View Code
注意:格式化时,{}中空白,默认顺序排序;{}指定数字编号,按编号顺序;{}指定键值,按键值指代排序。
十二、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
View Code