一、字符串和序列 字符串是用来记录文本信息的。字符串是python中作为序列提到的第一个例子。序列中发光的元素包含了一个从左到右的顺序(序列中的元素根据他们的相对位置进行存储和读取。)从严格意义上说,字符串是单个字符的字符串的序列。 二、字符串的常见操作: 1:求字符串的长度,以及各个元素
>>> s='wang'
>>> len(s)
4
2:python支持正向索引和反向索引
>>> s[0]
'w'
>>> s[1]
'a'
>>> s[-1]
'g'
3:序列支持分片操作:左边边界默认为0;右边边界默认为分片序列的长度。
>>> s[1:3]
'an'
>>> s[1:]
'ang'
>>> s[:3]
'wan'
>>>
4:注意:我们可以在方括号中使用任意表达式,不仅仅是数字常量。
>>> s[len(s)-1]
'g'
5:字符串支持使用加号进行合并(合并为新的字符串),或者重复。
>>> s
'wang'
>>> s+'kai'
'wangkai'
>>> s
'wang'
>>> s*2
'wangwang'
>>> s+s
'wangwang'
>>>
三:字符串的不可变性 字符串在python中具有不可变性:在创建后不能就地改变。例如,不能通过对其某一位置进行赋值而改变其字符串,但是你总是可以通过创建一个新的字符串并以同一个变量名对其进行赋值。
>>> s
'wang'
>>> s[0]
'w'
>>> s[0]=q
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
s[0]=q
NameError: name 'q' is not defined
>>> s='q'+s[1:]
>>> s
'qang'
四:字符串的常见方法 1:子字符串查找(find方法返回一个传入子字符串的偏移量)
>>> s.find('an')
1
>>> s
'qang'
2:字符串的全局搜索和替换
>>> s.replace('an','kk')
'qkkg'
>>> s
'qang'
3:字符串拆分
>>> kai="aaa,bbb,ccc"
>>> kai.split(',')
['aaa', 'bbb', 'ccc']
4:大小写变换
>>> K='wAi'
>>> K.upper()
'WAI'
>>>
5:去掉字符串后的空格字符
>>> S='sss,ddd\n'
>>> S=S.rstrip()
>>> S
'sss,ddd'
>>>
6:格式化替代
>>> '%s,sff,%s' %('dd','ff')
'dd,sff,ff'
>>> '{0},edd,{1}'.format('aaa','sss')
'aaa,edd,sss'
>>>
7:python 允许在三个引号中包括多行字符串常量
>>> mm="""
ssss
dddd
ffff
""
''
"""
>>> mm
'\nssss\ndddd\nffff\n""\n\'\'\n'
>>>
8:模式匹配:
>>> import re
>>> wan=re.match('hello,(.*)good' ,'hello,wangkaigood')
>>> wan.group(1)
'wangkai'
>>> kai=re.match('/(.*)/(.*)/(.*)',"/usr/boin/basj")
>>> kai.group(1,2,3)
('usr', 'boin', 'basj')