count
返回 str
在 start
和 end
之间在 mystr
里面出现的次数。
语法格式:
S.count(sub[, start[, end]]) -> int
示例:
mystr = '今天天气好晴朗,处处好风光呀好风光' print(mystr.count('好')) # 3. '好' 字出现三次
替换
替换字符串中指定的内容,如果指定次数 count
,则替换不会超过 count
次。
mystr = '今天天气好晴朗,处处好风光呀好风光' newstr = mystr.replace('好', '坏') print(mystr) # 今天天气好晴朗,处处好风光呀好风光 原字符串未改变! print(newstr) # 今天天气坏晴朗,处处坏风光呀坏风光 得到的新字符串里,'好' 被修改成了 '坏' newstr = mystr.replace('好', '坏', 2) # 指定了替换的次数 print(newstr) # 今天天气坏晴朗,处处坏风光呀好风光 只有两处的 '好' 被替换成了 '坏'
内容分隔
内容分隔主要涉及到 split
、splitlines
、partition
和 rpartition
四个方法。
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('好')) # ('今天天气好晴朗,处处好风光呀', '好', '风光')
修改大小写
修改大小写的功能只对英文有效,主要包括,首字母大写 capitalize
,每个单词的首字母大写 title
,全小写 lower
,全大写 upper
。
capitalize
第一个单词的首字母大写。
mystr = 'hello world' print(mystr.capitalize()) # Hello world
title
每个单词的首字母大写。
mystr = 'hello world' print(mystr.title()) # Hello World
lower
所有都变成小写。
mystr = 'hElLo WorLD' print(mystr.lower()) # hello world
upper
所有都变成大写。
mystr = 'hello world' print(mystr.upper()) # HELLO WORLD
空格处理
Python 为我们提供了各种操作字符串里表格的方法。
1. ljust
返回指定长度的字符串,并在右侧使用空白字符补全(左对齐)。
str = 'hello' print(str.ljust(10)) # hello 在右边补了五个空格
2. rjust
返回指定长度的字符串,并在左侧使用空白字符补全(右对齐)。
str = 'hello' print(str.rjust(10)) # hello在左边补了五个空格
3. center
返回指定长度的字符串,并在两端使用空白字符补全(居中对齐)。
str = 'hello' print(str.center(10)) # hello 两端加空格,让内容居中
4. lstrip
删除 mystr
左边的空白字符。
mystr = ' he llo ' print(str.lstrip()) # he llo 只去掉了左边的空格,中间和右边的空格被保留
5. rstrip
删除 mystr
右边的空白字符。
mystr = ' he llo ' print(str.rstrip()) # he llo右边的空格被删除
6. strip
删除两断的空白字符。
str = ' he llo ' print(str.strip()) # he llo
字符串拼接
把参数进行遍历,取出参数里的每一项,然后再在后面加上 mystr
。
语法格式:
S.join(iterable)
示例:
mystr = 'a' print(mystr.join('hxmdq')) # haxamadaq 把 hxmd 一个个取出,并在后面添加字符 a. 最后的 q 保留,没有加 a print(mystr.join(['hi', 'hello', 'good'])) # hiahelloagood
作用:可以把列表或者元组快速地转变成为字符串,并且以指定的字符分隔。
txt = '_' print(txt.join(['hi', 'hello', 'good'])) # hi_hello_good print(txt.join(('good', 'hi', 'hello'))) # good_hi_hello
字符串运算符
字符串和字符串之间能够使用加法运算符,作用是将两个字符串拼接成为一个字符串。例如:'hello' + 'world'
的结果是 'helloworld'
。
字符串和数字之间可以做乘法运算,结果是将指定的字符串重复多次。例如:'hello' * 2
的结果是 'hellohello'
。
字符串和字符串之间,如果使用比较运算符进行计算,会获取字符对应的编码,然后进行比较。
除上述几种运算符以外,字符串默认不支持其他运算符。