字符串操作方法
1.切片和索引:
字符串str = "123456789"
1)索引:
str[0] #获取字符串第一个元素
str[1] #获取字符串第二个元素
str[2] #获取字符串第三个元素
str[3] #获取字符串第四个元素
str[4] #获取字符串第五个元素
2)切片:
规则: str[start : end]
例:str[0:2] 输出得到"12"
str[3:5] 输出得到"45"
也可以跳着取:
规则: str[start : end : step]
例:str[0:2:] 得到"12"
注:步长默认为1
str[3:7:2] 得到"46"
还可以倒着输出:
str[ : :-1]得到"987654321"
str[8:1:-3]得到"963"
2.字符串的相关操作方法
str = "gsdSAGF s Df"
1.大小写的转换
1)str.capitalize() #将字符串的首字母大写其余字母小写
2)str.lower() #将字符串全部转换为小写
3)str.upper() #将字符串全部转换为大写
4)str.swapcase() #将字符串内容大小写互换
5)str.casefold() #将字符串内容全部转换为小写(比lower更强力可以解决欧洲文字)
6)str.title() #将被特殊字符(如中文特殊符号空格等)隔开的首字母大写
2.切割
1)str.center(数字,"字符") #拉长成数字长度,把原字符串放中间,其余位置补字符
例:str.center(10,"#") #拉长成10,把原字符串放中间,其余位置补#
2)str.expandtabs() #可以改变tab的长度,默认长度为8
3)str.strip("字符") #去掉字符串左右两端的字符
注:当str.strip()时,默认为去掉字符串左右两端的空格和换行
4)str.lstrip("字符") #去掉字符串左端的字符
注:当str.lstrip()时,默认为去掉字符串左端的空格和换行
5)str.rstrip("字符") #去掉字符串右端的字符
注:当str.rstrip()时,默认为去掉字符串右端的空格和换行
6)str.replace("旧字符","新字符",替换个数) #替换字符串中的字符
例:ret = str.replace('ojbk', 'fw') #把ojbk全部替换成fw
ret = str.replace('ojbk', 'fw',2) #把ojbk替换成fw,替换2个
7)str.split("切割字符",切割数量) #将字符串按照切个字符切割成多个子字符串,默认切割空格
例:str.split("s"),会得到['g', 'dSAGF ', ' Df']
str.split("s",1) #将字符串按照s分割,且只分割第一个s,得到['g', 'dSAGF s Df']
注:当spilt()操作左右两端的字符时会造成左右两端空字符串,如
s11 = "银王哈哈银王呵呵银王吼吼银王"
lst = s11.split("银王") # ['', '哈哈', '呵呵', '吼吼', '']
3.格式化输出
1) s12 = "我叫%s, 今年年%d岁了了, 我喜欢%s" % ('sylar', 18, '周杰伦') # 之前的写法 print(s12)
2) s12 = "我叫{}, 今年年{}岁了了, 我喜欢{}".format("周杰伦", 28, "周润发") # 按位置格式化 print(s12)
3) s12 = "我叫{0}, 今年年{2}岁了了, 我喜欢{1}".format("周杰伦", "周润发", 28) # 指定位置 print(s12)
4) s12 = "我叫{name}, 今年年{age}岁了了, 我喜欢{singer}".format(name="周杰伦", singer="周润 发", age=28) # 指定关键字 print(s12)
4.查找
1)str.startswith("@") #判断字符串是否是以@开头(@可以为任一字符串)
2)str.endswith("$") #判断字符串是否是以$结尾($可以为任一字符串)
3)str.count("a") #查找a出现的次数
4)str.find("a") #查找a出现的位置,如果没有返回-1
5)str.index("a") #查找a出现的位置,如果没有则报错
5.条件判断
1)str.isalnum() #判断是否由数字和字母组成
2)str.isalpha() #判断是否由字母组成
3)str.isdigit() #判断是否由数字组成,不包括小数点
4)str.isdecimal() #判断是否由十进制组成,不包括小数点
5)str.isnumric() #判断是否由数字组成,不包括小数点,且能判断中文数字
6)str.isupper() #判断是否由大写字母组成
7)str.islower() #判断是否由小写字母组成
8)str.istitle() #判断每段字符首字母是否大写
6.计算字符串长度