一、填充显示:靠左、居中、靠右

  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