python-字符串操作分类小结

切片

    str[start:end:step] # 包括头,不包括尾巴。step为步长,意思是每隔step-1个元素,取一个字符
    
    [::-1] #反向取字符串,实现字符串的反转 "abcde"-->"edcba"。

方法

字符串的修饰

center: 让字符串在指定的长度居中,如果不能居中,左短右长
    "while".center(10) # while    
    "while".center(10, 'a') # aawhileaaa   可以指定填充内容,默认以空格填充
    len("while".center(10)) # 10
ljust:左对齐
	"while".ljust(10,'*') # while*****
rjust:右对齐
	"while".rjust(10,'*') # *****while
zfill:将字符串填充到指定的长度,不足的地方用0从左开始补充
	"1".zfill(10) --》 0000000001'
format: 按照顺序将后面的参数传递给前面的大括号
	"{} is {} years old".format("while", 18) --> while is 18 years old
strip:默认去除字符串两边的空格,去除内容可以指定
rstrip:默认去除字符串左边的空格,去除内容可以指定
lstrip:默认去除字符串右边的空格,去除内容可以指定
join
    "a".join("123") # 1a2a3
len 方法返回指定序列的长度

字符串的查找

count:计数功能,返回指定字符在字符串中的个数
	"hello".count('l') # 2
find:查找,返回从左往右第一个指定字符的索引,如果找不到则返回-1
	"hello".find('l') # 2
strs1[index] = strs1[index - len(strs1)]
rfind: 查找,返回从右往左第一个指定字符的索引
index: 和find效果一样,区别在于,找不到则报错
rindex: 和rfind效果一样,区别在于,找不到则报错

字符串的替换

replace:从左到右替换指定的元素,可以指定替换的个数,默认全部替换
	"helllo".replace("l", "L") 将所有的l替换为L
	"helllo".replace("l", "L", 2) 将l替换为L,只替换2个
translate: 按照对应关系来替换内容
	trans = str.maketrans("12345", "abcde")
	"12123123".translate(trans) # ababcabc

字符串的变形

upper:将字符串当中所有的字符转化为大写
	"While".upper() --》 WHILE
lower:将字符串当中所有的字符转化为小写
	"While".upper() --》 while
swapcase: 将字符串当中所有的字符大小写进行反转
	"While".swapcase() --》 wHILE
title: 将字符串当中的单词首字母大写,单词以空格划分
	"While is ok ".title() --》 While Is Ok
capitalize: 只有字符串的首字符大写
	"while IS ok ".capitalize() --》 While is ok
expandtabs: 修改 的长度,很少用
    "while is ok 1993 ab c de".expandtabs() 无效果
	"while is 	 ok 1993 ab c de".expandtabs(4) --> while is     ok 1993 ab c de

字符串的判断

isalnum: 字符串是否只包含字母[a-zA-Z]和数字[0-9]
isalpha:字符串是否只包含字母[a-zA-Z]
isdigit: 字符串是否只包含数字[0-9]
isupper: 字符串是否只包含大写字母
islower: 字符串是否只包含小写字母
istitle: 字符串是否满足title格式
isspace: 字符串是否完全由空格(包括 制表符)组成
startswith
	"hello world".startswith("h") -->True
	"hello world".startswith("h", 1, 3) -->False 从1号索引开始到3号索引的子串是否以h开头(截取判断)
endswith: 和startswith用法相同

字符串的切分

splitlines: 以行切分字符串, 可以指定是否保留行标志(0,1)
	print(
		"""
			hello
			nihao
		""".splitlines(1)
	) 
	# ['
','    hello
', '    nihao
']
split: 默认以空格切分字符串,从左开始切,可以指定用来切割的字符和切分次数
rsplit: 从右切,用法同上,应用:将文件名和路径切分开

字符串的拼接

join: 将指定的字符串插入到后面的序列的每两个元素之间,进行拼接,形成新的字符串
	"hell".join(['1','2','3']) --》1hell2hell3
	"a".join("bcde") --> 'bacadae'
*: 将指定的字符串进行重复指定次数,读作重复
	"a"*3 --》 aaa
+: 将两个字符串拼接起来,

字符串的编码

encode:字符到字节,可以指定编码方式,如gbk,utf-8
decode:字节到字符,可以指定解码方式,如gbk, utf-8
原文地址:https://www.cnblogs.com/byron0918/p/10290108.html