4.Python字符串
字符串是python中重要的数据对象,单引号,双引号以及三个单引号包含的任意python的数据对象都称为字符串。
5.Python字符串方法
字符串填充:
- center(width[,fillchar]) 居中对齐
In [1]: a='tcq'
In [2]: a.center(10,'*')
Out[2]: '***tcq****'
- ljust(width[,fillchar])左对齐
In [3]: a.ljust(10,'-')
Out[3]: 'tcq-------'
- rjust(width[,fillchar])右对齐
In [4]: a.rjust(10,'=')
Out[4]: '=======tcq'
- zfill(width)0比特填充
In [5]: a.zfill(10)
Out[5]: '0000000tcq'
- expandtabs([tabsize])默认为8,tab转换的空格数
字符串删减:
- strip()去除字符串两端空白符
In [6]: a=" tcq "
In [7]: a.strip()
Out[7]: 'tcq'
- strip([chars])
In [8]: a='++tcq++'
In [9]: a.strip('+')
Out[9]: 'tcq'
- rstrip([chars])去除右端字符
In [10]: a.rstrip('+')
Out[10]: '++tcq'
- lstrip([chars])去除左端字符
In [11]: a.lstrip('+')
Out[11]: 'tcq++'
字符串变形:
- lower()将字符串转换成小写
In [12]: a="TCQws"
In [13]: a.lower()
Out[13]: 'tcqws'
- upper()将字符串转换为大写
In [14]: a.upper()
Out[14]: 'TCQWS'
- capialize()仅首字母大写
In [15]: a.capitalize()
Out[15]: 'Tcqws'
- swapcase()大小写转换
In [16]: a.swapcase()
Out[16]: 'tcqWS'
- title()单词首字母大写
In [17]: a="tian cai qi"
In [17]: a.title()
Out[17]: 'Tian Cai Qi'
字符串切分:
将字符串切分成了列表
- splitlines([keepends])按行切分字符串
In [18]: a="""1
22
333
"""
In [19]: a.splitlines()
Out[19]: ['1', '22', '333']
- split([sep[,maxsplit]])以sep为分隔符,maxsplit为分成的最大块数。
In [20]: a="My name is TCQ "
In [21]: a.split()
Out[21]: ['My', 'name', 'is', 'TCQ']
In [22]: a.split(' ',2)
Out[22]: ['My', 'name', 'is TCQ ']
- rsplit([sep[,maxsplit]])从右侧分起
In [23]: a.rsplit(' ',2)
Out[23]: ['My name is TCQ ', '', '']
字符串连接:
- join(seq)
join()函数的高效率(相对与循环),使它称为最值得关注的字符串方法之一。
In [24]: a='111'
In [24]: a.join('aaa')
Out[24]: 'a111a111a'
字符串判断:
- isalnum()是否是由字母和数字组成
In [25]: a='123abc'
In [26]: a.isalnum()
Out[26]: True
In [27]: a='*123abc'
In [28]: a.isalnum()
Out[28]: False
- isalpha()是不是由纯字母组成
In [29]: a='tcq'
In [30]: a.isalpha()
Out[30]: True
- isdigit()是否是纯数字组成
In [31]: a='123467'
In [32]: a.isdigit()
Out[32]: True
- islower()没有大写字母
In [33]: a='TCQws'
In [34]: a.islower()
Out[34]: False
- isupper()没有小写字母
In [35]: a='12A3'
In [36]: a.isupper()
Out[36]: True
- isspace()无空格
In [37]: a=' 1 '
In [38]: a.isspace()
Out[38]: False
- istitle()单词首字母大写
In [39]: a='I Am 24 Years Old!'
In [40]: a.istitle()
Out[40]: True
- startswith(prefix[,start[,end]])以某字符开头
In [41]: a='TCQws'
In [42]: a.startswith('TCQ',0,4)
Out[42]: True
- endswith(suffix[,start[,end]])以某字符结尾
In [43]: a.endswith('ws',0,5)
Out[43]: True
字符串查找:
- count(sub[,start[,end]])统计字符串中字符的个数
In [44]: a='abbcccdddd'
In [45]: a.count('d',7,10)
Out[45]: 3
- find(sub[,start[,end]])查找字符所在索引位置
In [46]: a.find('d')
Out[46]: 6
In [47]: a.find('e')
Out[47]: -1
- index(sub[,start[,end]])同find,单当找不到值时显示‘substring not found’
字符串替换:
- replace(old,new[,count])替换字符串中的字符
In [48]: a='11111'
In [49]: a.replace('1','2',3)
Out[49]: '22211'
- translate(table[,deletechars])
translate()的参数table可以由string.maketrans(frm,to)生成translate()对unicode对象的支持并不完善,及那以不要使用
字符串编码:
- encode([encoding[,errors]])
- decode([encoding[,errors]])
unicode可以通过encode编码称为特定编码的str,而str也可以通过decode解码称为unicode
字符串分片:
字符串是有序序列,索引开始为0,结束为-1
In [50]: "TCQws"[::]
Out[50]: 'TCQws'
In [51]: "TCQws"[0::2](2为步长)
Out[51]: 'TQs'