# 字符串的常用操作方法 (都是形成新的字符串,与原字符串没有关系。)
1、字符串的基本操作之切片
s = 'python hello word'
#取首不取尾,取尾要+1#切片取出来的字符串与原字符串无关
print(s[6: 10])print(s[7:: 2])#反向取数字需要加上反向步长
print(s[-1: -4: -1])print(s[-1: 2]) #取不到数据
2、把字符串全部大写或小写upper, lower
s = 'sssdJJIs sdf'
print(s.upper()) #全部大写
print(s.lower()) #全部小写
3、判读以xx开头或结尾startswith,endswith
s = 'alexttttt'
print(s.startswith('a')) #判断是否以xx开头
print(s.startswith('e', 2)) #可切片
print(s.endswith('t')) #判断是否以xx结尾
4、查找元素find ,index
s = 'chhengt'
print(s.find('h')) #通过元素找索引找到第一个就返回(可切片)
print(s.find('t', 3))print(s.find('b')) #找不到返回 -1
print(s.index(9)) #找不到会报错
5、strip 默认去除字符前后两端的空格, 换行符, tab
s = 'qqwalex qqwusir barryy'
print(s.strip('qqw'))print(s.strip(''))print(s.lstrip('yy'))print(s.rstrip('yy'))
6、split 把列表分割成字符串
#分割出的元素比分隔符数+1 ***#字符串变成->>>列表
s = 'qqwalex qqwusir barryy's1= 'qqwale;x qqwu;sir bar;ryy'
print(s.split()) #默认以空格分割
print(s1.split(';')) #以指定字符分割
print(s1.split(';', 1)) #指定分割多少个
7、join把字符串转成列表
#列表转化成字符串 list --> str
s = 'alex'li= ['aa', 'ddj', 'kk'] #必须全是字符串
s1 = '_'.join(s)print(s1)
s2= ' '.join(li)print(s2)
8、is系列
#字符串.isalnum() 所有字符都是数字或者字母,为真返回 Ture,否则返回 False。#字符串.isalpha() 所有字符都是字母,为真返回 Ture,否则返回 False。#字符串.isdigit() 所有字符都是数字,为真返回 Ture,否则返回 False。#字符串.islower() 所有字符都是小写,为真返回 Ture,否则返回 False。#字符串.isupper() 所有字符都是大写,为真返回 Ture,否则返回 False。#字符串.istitle() 所有单词都是首字母大写,为真返回 Ture,否则返回 False。#字符串.isspace() 所有字符都是空白字符,为真返回 Ture,否则返回 False。
#is 系列
name = 'taibai123'
print(name.isalnum()) #字符串由数字或字母组成时返回真
print(name.isalpha()) #字符只由字母组成时返回真
print(name.isdigit()) #字符只由数字组成时返回真
9、count 计算字符串中某个字符出现的次数 ***
#count 计算字符串中某个字符出现的次数 ***
s = 'fjdsklf;jdskafjdsaflsdfsdfsdafsdgsfda'
print(s.count('f'))print(s.count('f',1,))
10、replace*** 替换字符串中指定的字符
s = 'asdf 之一,asdf也,asdf'
#replace ***
s1 = s.replace('asdf', '日天')
s1= s.replace('asdf', '日天', 1)print(s1)
11、format格式化输出
#format 格式化输出 ***#第一种方式:
s = '我叫{}, 今年{}, 性别{}'.format('小五', 25, '女')print(s)#第二种方式
s1 = '我叫{0}, 今年{1}, 性别{2},我依然叫{0}'.format('小五', 25, '女')print(s1)#第三种方式
s2 = '我叫{name}, 今年{age}, 性别{sex},我依然叫{name}'.format(age=25, sex='女',name='小五',)print(s2)
12、capitalize() 首字母大写 **
s = 'chenziwu'
#capitalize() 首字母大写 **
s1 =s.capitalize()print(s1)
13、center() 将字符串居中可以设置总长度,可以设置填充物 *
#center() 将字符串居中可以设置总长度,可以设置填充物 *
s = 'chenziwu's2= s.center(50)
s2= s.center(50, '*')print(s2)
14、swapcase 大小翻转 *
s = 'CHenziwu'
#swapcase 大小翻转 *
s3 =s.swapcase()print(s3)
15、title 非字母隔开的每个单词的首字母大写 *
s = 'chen wuang4fhsa¥fh。f'
#title 非字母隔开的每个单词的首字母大写 *
s4 =s.title()print(s4)