python中字符串(str)常用操作总结

# 字符串的常用操作方法 (都是形成新的字符串,与原字符串没有关系。)

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***  替换字符串中指定的字符

扫描二维码关注公众号,回复: 4599235 查看本文章
s = 'asdf 之一,asdf也,asdf'
# replace  ***
s1 = s.replace('Alex', '日天')
s1 = s.replace('Alex', '日天', 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)

猜你喜欢

转载自www.cnblogs.com/chen55555/p/10159567.html