导图社区 python字符串
这包含字符串的替换、字符串的编码,解码、字符串拼接、字符串切割、字符串空格的处理、字符串大小写等等。
编辑于2021-10-25 21:44:55python 字符串
str
可以使用 '' 或""来表示字符串
切片
字符串[start:stop:step] start :开始 stop 结尾 step 步长
print(str[2:9])
包含第二个不包含第九个
print(str[:2])
从下标2一直截取到最后一个
如果步长设置为-1 那么就变成从右往左切
print(str[::]) 无头无尾,全部截取
print(str[::-1]) 倒着全部截取
字符串查找相关操作
字符串查找
find
str.find()
如果存在 返回下标,如果不存在 返回-1
index
str.index()
如果存在 返回下标 ,如果不存在 报错
rfind
str.rfind()
从右开始往左找,找到以后从左往右数下标,如果不存在返回-1
rindex
str.rindex()
从右开始往左找,找到以后从左往右数下标,如果不存在报错
字符串判断相关操作
str.endswith()
判断是否以指定内容结尾 如果是返回True 如果不是返回Flase
子主题
str.startswith()
判断字符串是否以指定的内容开头,如果是返回True 如果不是返回False
str.isalpha()
判断是否纯字母 如果是返回True 不是返回False
str.isdigit()
判断字符串是否为纯数字,如果是返回True,不是返回False
str.isalnum()
判断字符串是否为字母或数字 如果是返回True 不是返回False
str.isspace()
如果 mystr 中只包含空格,则返回 True,否则返回 False
统计元素出现的内容
str.count()
返回某字符在字符串中出现的次数
mystr = '今天天气好晴朗,处处好风光呀好风光' print(mystr.count('好')) # 3. '好'字出现三次
字符串大小写
str.capitalize()
将第一个首字母大小
str.upper()
全部单词大写
str.lower
全部单词转成小写
str.title()
每个单词首字母大写
字符串空格的处理
ljust
返回指定长度的字符串,默认在右侧使用空白符补全(左对齐,也可以指定字符作为补齐符号)
print(str.ljust(10))
默认情况: str='雀食一个大帅哥' print (str.ljust(10)) # 雀食一个大帅哥 在右边补了3个空格
指定字符作为补齐符号
指定字符串作为补齐符: str='雀食一个大帅哥' print (str.ljust(10,'*')) # 雀食一个大帅哥*** 在右边 补了3个*号
rjust
返回指定长度的字符串,并在左侧使用空白字符补齐(右对齐,也可以指定字符串作为补齐符号)
指定字符串作为补齐符号
指定字符串作为补齐符: str='雀食一个大帅哥' print (str.ljust(10,'*')) # ***雀食一个大帅哥 在左边补了3个*号
默认情况: str='雀食一个大帅哥' print (str.ljust(10)) # 雀食一个大帅哥 在左边补了3个空白符
center
返回指定长度的字符串,并在两端使用空白字符补全(居中对齐)
str = 'hello' print(str.center(10)) # hello 两端加空格,让内容居中
子主题
字符串切割
split
以指定字符串为分隔符切片,如果 maxsplit有指定值,则仅分隔 maxsplit+1 个子字符串。返回的结果是一个列表。
mystr = '今天天气好晴朗,处处好风光呀好风光' result = mystr.split() # 没有指定分隔符,默认使用空格,换行等空白字符进行分隔 print(result) #['今天天气好晴朗,处处好风光呀好风光'] 没有空白字符,所以,字符串未被分隔 result = mystr.split('好') # 以 '好' 为分隔符 print(result) # ['今天天气', '晴朗,处处','风光呀,'风光'] result = mystr.split("好",2) # 以 '好' 为分隔符,最多切割成3份 print(result) # ['今天天气', '晴朗,处处', '风光呀好风光']
rsplit
用法和split基本一致,只不过是从右往左分隔。
mystr = '今天天气好晴朗,处处好风光呀好风光' print(mystr.rsplit('好',1)) #['今天天气好晴朗,处处好风光呀', '风光']
splitlines
按照行分隔,返回一个包含各行作为元素的列表。
mystr = 'hello \nworld' print(mystr.splitlines())
partition
把mystr以str分割成三部分,str前,str和str后,三部分组成一个元组
mystr = '今天天气好晴朗,处处好风光呀好风光' print(mystr.partition('好')) # ('今天天气', '好', '晴朗,处处好风光呀好风光')
rpartition
类似于 partition()函数,不过是从右边开始.
mystr = '今天天气好晴朗,处处好风光呀好风光' print(mystr.rpartition('好')) # ('今天天气好晴朗,处处好风光呀', '好', '风光')
字符串拼接
把参数进行遍历,取出参数里的每一项,然后再在后面加上mystr
语法格式: S.join(iterable)
mystr = 'a' print(mystr.join('hxmdq')) #haxamadaq 把hxmd一个个取出,并在后面添加字符a. 最后的 q 保留,没有加 a print(mystr.join(['hi','hello','good'])) #hiahelloagood
字符串的编码,解码
str.encode()
将字符串以指定的方式编码
str.decode
将字符串以指定的方式解码
字符串的替换
替换字符串中指定的内容,如果指定次数count,则替换不会超过count次。
mystr = '今天天气好晴朗,处处好风光呀好风光' newstr = mystr.replace('好', '坏') print(mystr) # 今天天气好晴朗,处处好风光呀好风光 原字符串未改变! print(newstr) # 今天天气坏晴朗,处处坏风光呀坏风光 得到的新字符串里,'好'被修改成了'坏' newstr = mystr.replace('好','坏',2) # 指定了替换的次数 print(newstr) # 今天天气坏晴朗,处处坏风光呀好风光 只有两处的'好'被替换成了'坏'