字符串(2)常用方法函数汇总:
1.切片
形式:s[ a:b :c ],[起始偏移量 start:终止偏移量 end:步长 step]
[:] 提取整个字符串,
[start:]从 start 索引开始到结尾
[:end]从头开始知道 end-1
[start:end]从 start 到 end-1
[start:end:step]从 start 提取到end-1,步长是 step
例1
s="ab1234defg"
print(s[2:6:2])
s='abc'#字符串是不可改变其内容值的类型
s[0]=1
print(s)#报错
s="123456789"
print(s[4:8:2])
print(s[ :8])
print(s[3:])
print(s[-6]) #倒数第六个
print(s[::-1])
例2:倒序打印一段字符
法1
s="123456789"
i=-1
while i>-len(s)-1:
print(s[i])
i-=1
法2
i=len(s)-1
while i>=0:
print(s[i])
i-=1
2.find 检测指定字符串是否包含在当前字符串中,如果是返回开始的下标值,否则返回-1
s="123456789"
i=s.find("123") # 结果为返回开始的下标值
print(i)
i=s.find("456") # 结果为返回开始的下标值
print(i)
i=s.find("555")
print(i) #-1代表不存在
index
跟find()方法一样,只不过如果要查找的字符(test)串不在 当前字符串中会报一个异常
s="123456789"
i=s.index("123")
print(i)
i=s.index("456")
print(i)
i=s.index("555") #不存在就报错
print(i)
3 .count :返回 s在start和end之间 在 mystr里面出现的次数
s="123456789"
c=s.count("123")
print(c) #1
c=s.count("456")
print(c) #1
c=s.count("555")
print(c)
4.replace 替换
#这里替换与改变字符串值不同
s="abcdefg"
print(s.replace("ab","1234")) #运用逻辑:什么 替换成 什么 #1234cdefg
s[1] = ''搞笑'' #报错
5.split :分隔
以 s为分隔符分隔 ,如果 maxsplit有指定值,
则仅分隔 maxsplit 个子字符串
s="123-4-5-6-abc"
print(s.split('-')) #
print(s.split('-',maxsplit=1))
输出[‘123’, ‘4’, ‘5’, ‘6’, ‘abc’]
[‘123’, ‘4-5-6-abc’]
6.capitalize:把字符串的第一个字符大写
s="abc"
print(s.capitalize()) #s.capitalize() 中 需要有()
s="za"
s.capitalize()
print(s)
输出:
Abc
za
7.title 把字符串的 每个单词 首字母 大写
s="peking i love you"
print(s.title())
输出:
Peking I Love You
8.startswith endswith
#检查字符串是否是以指定字符串开头(结束), 是则返回 True,否则返回 False
s="北京"
print(s.startswith("北")) #True
print(s.endswith("京")) #True
9.lower upper 将字符串转换为小(大)写
s="aBcDeF"
print(s.lower())
print(s.upper())
输出:
abcdef
ABCDEF
10.strip 去除(左右)空格
s=" ABCdef "
print(s.strip())
print(s.lstrip())
print(s.rstrip())
输出:
ABCdef
ABCdef #右有空格
ABCdef
11.partition
#在S中搜索分隔符sep,并返回它之前的部分,分隔符本身以及其后的部分.
#如果分隔符未找到了,返回S和两个空字符串。
s=" AB-Ce-df "
print(s.partition("-")) #结果为:(' AB', '-', 'Ce-df ')
12.splitlines 去行
#按照行分隔,返回一个包含各行作为元素的列表
s=" AB\n12\n34\n"
print(s.splitlines())
print(s.split("\n"))
输出:列表
[’ AB’, ‘12’, ‘34’]
[’ AB’, ‘12’, ‘34’, ‘’]
13 isalpha isdigit alnum 判断全是字母,数字,字母+数字
a="abc"
print(a.isalpha()) #True
b="a12"
print(b.isalpha()) #False
a="123"
print(a.isdigit()) #True
b="12.12" #小数点不是数字
print(b.isdigit()) #False
a="a12"
print(a.isalnum()) #True
b="a12_1"
print(b.isalnum()) #False
14.append
a=[1,2,3,4,5,]
print(a[1:4])
a[0]=23
a.append(99) #追加
print(a)
输出:
[2, 3, 4]
[23, 2, 3, 4, 5, 99]
15.insert
a=[1,2,3,4,5]
a.insert(3,77) #插入i的位置 77不用加引号
print(a)
16.del
a=[1,2,3,4,5]
del a[3] # 3为下标
print(a)