字符串扩展方法
字符串除了切片用法以外,还可以使用一个新的概念,叫做“对象的方法”。
一、对象方法:
1. find():查找小字符串在大字符串中的索引值。
my_str = "都说冰糖葫芦儿酸"
a = my_str.find("冰")
print(a)
# 输出结果:
#
# 2
2. title():将原字符串转换成只有首字母大写的字符串。
my_str1 = "aaBbCcDAWSDd"
my_str2 = "ABbCcDAd"
new_my_str1 = my_str1.title()
new_my_str2 = my_str2.title()
print(new_my_str1)
print(new_my_str2)
# 输出结果:
#
# Aabbccdawsdd
# Abbccdad
3. upper():将字符串全部大写。
my_str1 = "aaBbCcDAWSDd"
new_my_str1 = my_str1.upper()
print(new_my_str1)
# 输出结果:
#
# AABBCCDAWSDD
4. lower():将字符串全部小写。
my_str2 = "ABbCcDAd"
new_my_str2 = my_str2.lower()
print(new_my_str2)
# 输出结果:
#
# abbccdad
5. strip():去除字符串左右两端的空格。
my_str = " AaBb CcDd "
new_my_str = my_str.strip()
print(new_my_str)
# 输出结果:
#
# AaBb CcDd
二、子串搜索相关方法:
1. count():返回原字符串中子字符串出现的次数,可以指定从开始 "satr" 到结束 "end"。
(1) 语法格式:
my_str.count(sub_str[, start[, end]])
(2) 示例:
my_str = 'abcaaabbbcccdddad'
print(my_str.count('a',3,-4))
print(my_str.count('a'))
# 输出结果:
#
# 3
# 5
2. startswith():检查字符串是否以指定的子字符串开始,返回布尔值。语法格式:
my_str.startswith(prefix[, start[, end]])
3. endswith():检查字符串是否以指定的子字符串结束,返回布尔值。语法格式:
my_str.endswith(suffix[, start[, end]])
4. find():返回字符串第一次出现的位置,如果没有匹配项则返回 -1。语法格式:
my_str.find(sub[, start[, end]])
5. rfind():返回字符串最后一次出现的位置,如果没有匹配项则返回 -1。语法格式:
my_str.rfind(sub[, start[, end]])
6. index():和 find() 不同点在于,当找不到字符串时,抛出 ValueError 错误。
my_str.index(sub[, start[, end]])
7. rindex():和 rfind() 不同点在于,当找不到字符串时,抛出 ValueError 错误。
my_str.rindex(sub[, start[, end]])
三、替换相关方法:
replace():将字符串中的旧字符串替换为新字符串,如果给定 count 表示只替换前 count 个旧字符串。语法格式:
my_str.replace(old, new[, count])
四、分割和合并:
1. split():通过指定分隔符第一次出现的位置对字符串进行切片,并返回分割后的字符串列表。
(1) 语法格式:
my_str.split(sep, maxsplit)[n]
· sep表示为分隔符,默认为空格,但是不能为空。
· maxsplit表示分割次数。
· 表示选取第 n 个分片。
(2) 示例:
my_str = 'abcaaabbbcccdddad '
print(my_str.split('a'))
print(my_str.split('a',2))
print(my_str.split('a',2)[1])
# 输出结果:
#
# ['', 'bc', '', '', 'bbbcccddd', 'd ']
# ['', 'bc', 'aabbbcccdddad ']
# bc
2. rsplit():通过指定分隔符最后一次出现的位置对字符串进行切片,并返回分割后的字符串列表。
(1) 语法格式:
my_str.rsplit(sep, maxsplit)[n]
(2) 示例:
my_str = 'abcaaabbbcccdddad '
print(my_str.rsplit('a'))
print(my_str.rsplit('a',2))
print(my_str.rsplit('a',2)[1])
# 输出结果:
#
# ['', 'bc', '', '', 'bbbcccddd', 'd ']
# ['abcaa', 'bbbcccddd', 'd ']
# bbbcccddd
3. splitlines():用来分割换行符。格式如下
my_str.splitlines([keepends=True])
·返回字符串列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
四、修剪方法:
1. strip():移除原字符串左右两边的字符,默认移除空白(空格、制表符、换行符)。语法格式:
my_str.strip([chars])
2. lstrip():移除原字符串左边的字符,默认移除空白(空格、制表符、换行符)。语法格式:
my_str.lstrip([chars])
3. rstrip():移除原字符串右边的字符,默认移除空白(空格、制表符、换行符)。语法格式:
my_str.rstrip([chars])