python(2)-字符串(2)

字符串格式化:

前面说过一种字符串格式化方法,来复习一下:

>>> print('His name is %s', 'jeff')
His name is %s jeff

其实格式化方法不止一种:

>>> print('{0} , {1}'.format('alex','33'))
alex , 33

后面的值分按照顺序挨个匹配出来。但是这样好像不太直观,改进一下

>>> print('{name},{age}'.format(name='jeff',age='23'))
jeff,23

这样是不是很直观了,对应关系一目了然

>>> print('%-10s%-10s%-10s' % ('name','age','job'))
name      age       job

%-10s 结字符串10个字符的空间,在对齐输出的时候很有用哦。

下面看看字符串的方法:

>>> name = 'jeff'
>>> name.__contains__('ff')    #’ff’是否包含在name里
True
>>> name.capitalize()    #首字母大写
'Jeff'
>>> name.center(20)        #在20个字符空间内居中
'        jeff        '
>>> name.center(20,'*')      #可以自定义居中
'********jeff********'
>>> name.count('f')         #计数
2
>>> name.count('f',0,2)    #在切片中计数
0
>>> name.count('f',0,3)
1
>>> name.endswith('f')     #判断不否以f结尾
True
>>> name.endswith('e',0,2)   #在切片中判断
True
>>> name = 'j	eff'    
>>> name.expandtabs()     #显示字符串中的转义字符,	是tab
'j       eff'
>>> name.index('f')   #返回索引值
3
>>> name.find('ex')    #返回索引值,没找到返回-1
-1
>>> name.find('ff')       #r返回索引,第一个匹配的
3
>>> name.index('x')     #index方法没找到时会抛出异常
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: substring not found
>>>
>>> name = 'jeff'      
>>> name.isdigit()                #是否是数字数字,注意负数也会返回False哦,正整数和零才返回True
False
>>> name.isalnum()             #是否全是字母或数字
True
>>> name.isalpha()              #是否全是字母
True
>>> name.isdecimal()          #是否是十进制小数
False
>>> name.isidentifier()         #判断字符串是否合法,实际上是判断变量是否合法
True
>>> name.islower()              #是否全是小写
True
>>> name.isupper()             #是否全是大写
False
>>> name.isnumeric()         #是否是数字
False
>>> name.isspace()            #是否是空格
False
>>> name.istitle()                 #是否是标题
False

join()方法

>>> li = ['a','b','c','d']
>>> '_'.join(li)
'a_b_c_d'

strip()方法: 去掉左右两边的空格,换行符也会被去掉哦。。

>>> 'name   '.strip()
'name'
>>> '  name   '.strip()
'name'
>>> 'name
'.strip()
'name'
>>> '
name
'.strip()
'name'

lstrip():去掉左边的

rstrip() :  去掉右边的

看看下面这个

>>> intab = "aeiou"
>>> outtab = '12345'
>>> from string import maketrans          
>>> trantab = maketrans(intab,outtab)        #python3在这里会抛出异常不知道为啥
>>> str = 'this is string example.....wow!!'
>>> print str.translate(trantab)
th3s 3s str3ng 2x1mpl2.....w4w!!
>>> print str.translate(trantab,'xm')   #按映射关系替换,并移出x和m
th3s 3s str3ng 21pl2.....w4w!!

继续,看一个分割方法

>>> name = 'jackisppp'
>>> name.partition('is')
('jack', 'is', 'ppp')

peplace()  替换

>>> name = 'jack is teacher'
>>> name.replace('a','x')     #将所有a替换成x
'jxck is texcher'
>>> name.replace('c','T',2)   #替换两个
'jaTk is teaTher'

split()

splitlines()

startswith()

swapcase()  大小写转换

title()    转换成标题

upper()    转成大写

原文地址:https://www.cnblogs.com/huangxm/p/5172411.html