python中str的功能_PythonStudy_数据类型 str 的功能(一)

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值