字符串操作方法

字符串操作方法

 

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.计算字符串长度

len(str) #计算字符串长度

posted @ 2019-06-05 21:55  zy740  阅读(157)  评论(0编辑  收藏  举报