一、字符串大小写转换方法
'abcd'.upper()#用于将字符串中的小写字母变成大写字母
'aBcd'.upper()
'ABCD'.lower()#用于将字符串的大写字母转为小写字母
'aBcD'.lower()
'ABCD'.capitalize()#用于将字符串中的字母变成大写,其他字母变成小写。首字母如果是非字母则保持不变,其他字母变成小写
'aBcd'.capitalize()
'when it comes to youth'.title()#非字母后的第一个字母将转为大写字母
'abcd'.swapcase() #用于对字符串的大小写字母进行互相转换。
'aBcD'.swapcase()
运行结果
二、字符串分割,组合与移除
split()
用于通过指定分隔符对字符串进行分割。split()
方法有两个可选参数,第一个参数为分隔符,默认为所有的空字符,包括空格、换行(\n
)、制表符(\t
)等。第二个参数为最大分割次数,默认为 -1
,即不限次数。
print('撒 野'.split(' '))
join()
用于将序列中的元素以指定的字符连接生成一个新的字符串。join()
方法接收一个序列(列表、元组、字符串等)作为参数,.
前面的字符串用于连接符。
#列表
print(''.join(['撒野','女孩']))
print('-'.join(['撒野','女孩']))
#元组
print(''.join(('撒野','女孩')))
print('-'.join(('撒野','女孩')))
#字符串
print('-'.join('撒野女孩'))
strip()
用于移除字符串开头和结尾指定的字符(默认为空字符)或字符序列。当传入一个字符串时,会将传入字符串中每个字符依次移除。
print(' 你好'.strip())
print(' _你好'.strip(' _'))
三、定位与替换的方法
count()
用于统计字符串中某个字符串出现的次数。第一个参数为要统计次数的字符串,后两个可选参数为在字符串搜索的开始与结束索引。
print('aabbcccd'.count('a')) # 2
'aabbcccd'.count('ab') # 1
'aabbcccd'.count('e') # 0
'aabbcccd'.count('a', 2, 6) # 0
# 等同于 'bbcc'.count('a')
'aabbcccd'.count('c', 2, 6) # 2
# 等同于 'bbcc'.count('c')
find()
用于检测字符串中是否包含子字符串,如果包含子字符串返回第一次出现的索引值,否则返回 -1。第一个参数为要查找的子字符串,后两个可选参数为在字符串搜索的开始与结束索引。
'abc'.find('b') # 1
'abcabc'.find('b') # 1
'abcabc'.find('d') # -1
'abcbcdabc'.find('bcd') # 3
'abcabc'.find('b', 1, 2) # 1
'abcabc'.find('b', 2, 3) # -1
replace()
用于将字符串中的指定字符串替换成别的字符串。第一个参数为被替换字符串,第二个参数为替换字符串,第三个可选参数为替换的最多次数,默认为无限次。
'abcd'.replace('b', 'e') # 'aecd'
'abbbcbd'.replace('b', 'e') # 'aeeeced'
'abbbcbd'.replace('bb', 'e') # 'aebcbd'
'abbbcbd'.replace('b', 'e', 2) # 'aeebcbd'
四、格式化输出的方法
除了使用 %
运算符进行字符串格式化输出,我们还可以使用字符串的 format()
方法达到同样的效果。
format()
方法使用 {}
作为占位符,然后按照参数顺序替换对应的占位符
print('我叫{},今年{}岁,来自{}'.format('小米',18,'广东'))
我们还可以给占位符编号:
'我叫{0},今年 {1} 岁,来自{2}'.format('小贝', 18, '南京')
# 我叫小贝,今年 18 岁,来自南京
# 调整编号顺序
'我叫{2},今年 {1} 岁,来自{0}'.format('南京', 18, '小贝')
# 我叫小贝,今年 18 岁,来自南京
# 重复编号
'我叫{0},{0}今年 {1} 岁,来自{2}'.format('小贝', 18, '南京')
# 我叫小贝,小贝今年 18 岁,来自南京
我们还可以给占位符命名
'我叫{name},今年 {age} 岁,来自{city}'.format(name = '小贝', age = 18, city = '南京')
# 我叫小贝,今年 18 岁,来自南京
# 命名后参数顺序不再重要
'我叫{name},今年 {age} 岁,来自{city}'.format(age = 18, city = '南京', name = '小贝')
# 我叫小贝,今年 18 岁,来自南京
weather=[
('南京',36),
('成都',30),
('昆明',34)
]
for W in weather:
print('今天{}的天气是{}度'.format(W[0],W[1]))
总结
如果你需要 大小写转换,别忘了
upper()
和lower()
这两种基本方法,swapcase()
可以将大小写互换,而title()
和capitalize()
可以将英文大小写转换成特定的格式。神奇的切割刀
split()
可以按指定符号 分割 字符串,join()
能把序列中的元素做成“串串”,用指定符号把它们全都 连接 起来。strip()
则是帮你“掐头去尾”的好帮手,将首尾处的指定字符通通 移除。定位、查找 和 替换 的方法也是必不可少,可不要忘了
find()
、count()
和replace()
这三个好兄弟哟。新的 格式化输出 方法——
format()
函数,与它配对的占位符是{}
。