初学python,有些地方可能还不够明白,希望各位看官发现我的错误后留言指正!
注:字符串的第一位的索引值是0
1 s = 'abcd'
2 s1 = s[0]
3 print(s1)#输出a
1 s = 'abcd'
2 s2 = s[0:3]
3 print(s2)
4 #输出abc,不包括下标是3的d
1 s = 'abcd'
2 s3 = s[-1]
3 print(s3)#输出d
1 s = 'abcd'
2 s4 = s[0:]
3 s5 = s[:]
4 print(s4,s5)#都会输出整个字符串
5
6 print(s[0:0])#输出一个空字符串,不会报错
1 s = 'abcde'
2 s6 = s[0:4:2]
3 print(s6)#输出ac
1 s = 'abcde'
2 s7 =s[-1::-1]
3 #或者s7 =s[::-1]
4 print(s7)#输出edcba
1 s = 'abcde'
2 s8 =s[3::-1]
3 print(s8)#输出dcba
1 s='abcd'
2 s1 = s.capitalize()#首字母大写
1 s = 'sun ton-alex*egon'
2 s1=s.title()#将s和t转换成大写
3 print(s1)#输出Sun Ton-Alex*Egon
1 s='abcd'
2 s2 = s.upper()#转换大写
3 s3 = s.lower()#转换小写
其用处体现在:输入验证码时,不区分大小写
1 s='AbCd'
2 s.swapcase()#小写转大写、大写转小写
1 s='AAA'
2 s1 = s.center(20)#总长度为20,将字符串居中
3 s2 = s.center(20,'*')#居中,并且两边的用'*'填充
s='ab\tcd'
s1 = s.expandtabs()
print(s1)
#输出ab cd,中间有六个空格,总共八位,\t前面的ab占两位,所以补六位,大于8位的
#补16位
1 s = 'abcd我'
2 print(len(s))#输出5,中文也算一个字符
1 s = 'abcd'
2 s1 = s.startswith('a')
3 s2 = s.startswith('ab')
4 s3 = s.startswith('abc')
5 print(s1,s2,s3)#都返回True
6
7 #判断结尾的字符:同理,只是写法变了
8 s = 'abcd'
9 s1 = s.endswith()
1 s = 'abcd'
2 s1 = s.startswith('b',1,3)#判断切片后的'bc'是否以字符'b'开头
1 s = 'abcd'
2 s1 = s.find('c')
3 print(s1)#输出2
利用for循环找到字符串里所有指定字符的下标
1 s = 'abcdacd'
2 for index,i in enumerate(s):
3 if i=='a':
4 print('{}的下标:{}'.format(i,index))
5 #输出:
6 #a的下标:0
7 #a的下标:4
还有一个方法index,它和find作用类似,通过元素找索引,不同点是:找不到指定的字符则会报错!
1 s = ' abcd '
2 s1 = s.strip()
3 print(s1)#输出abcd
1 s = 'abcd***'
2 s1 = s.strip('*')
3 print(s1)#输出abcd
4
5 #也可以指定多个字符或特殊字符
6 s = ' %%abcd***'
7 s1 = s.strip(' %*')#指定字符的顺序无关
8 print(s1)#输出abcd
#删左边,不动右边
lstrip()
#删右边,不动左边
rstrip()
1 s = 'abbcd'
2 s1 = s.count('a')
3 s2 = s.count('bb')
4 print(s1,s2)#都输出1
1 s = 'a b c d'
2 s1 = s.split()
3 print(s1)#输出['a','b','c','d']
4
5 #注:若分隔符前面没有字符,也会分割成一个空的字符
6 s = ';a;b;c;d'
7 s2 = s.split(';')
8 print(s2)#输出['','a','b','c','d']
1 s = '我叫{},今年{}'.format('sun','19')#数字可以不用引号引起来
2 print(s)
s = '我叫{0},今年{1}'.format('sun','19')#'sun'的下标是0,'19'的下标是1
1 s = '我叫{name},今年{age}'.format(age=19,name='sun')
1 s = 'abacda'
2 s1 = s.replace('a','A')#将所有的a替换成A
3
4 #也可以指定次数
5 s1 = s.replace('a','A',1)#只把第一个a替换成A
1 #判断字符串是否只由数字组成
2 s = '123'
3 print(s.isnum())
4
5 #判断字符串是否只由字母组成
6 s1 = 'abc'
7 print(s.isalpha())
8
9 #判断字符串是否由数字或字母组成
10 s2 = '123abc'
11 print(s.isalnum())
1 s = 'abcd'
2 for i in s:
3 print(i)
4 #输出:
5 a
6 b
7 c
8 d
1 s = 'abcdacd'
2 i=0
3 while i<len(s):
4 print(s[i]) #输出字符串里的每个字符
5 i += 1
1 s = 'azxczcx政治'
2 if '政治' in s:
3 print('含有敏感词')