# 字符串的常用操作方法 (都是形成新的字符串,与原字符串没有关系。)
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)