所有字符串相关方法的使用方式都是:字符串.方法名()
1.capitalize():
作用:将字符串的第一个字符转换为大写。
str1 = 'student'
print(str1.capitalize())
2.center(width, fillchar):
作用:返回一个指定的宽度 width 居中的字符串,fillchar 为填充的字符,默认为空格。
str2 = 'nsu'
print(str2.center(10, '7'))
3.count(str):
返回 str 在 string 里面出现的次数
str3 = 'ad'
str4 = 'adsdkfjnmadjimad,kadsdad'
print(str4.count(str3))
4.bytes.decode(encoding="utf-8", errors="strict")
作用:Python3 中没有 decode 方法,但我们可以使用 bytes 对象的 decode() 方法来解码给定的 bytes 对象,
这个 bytes 对象可以由 str.encode() 来编码返回。
encoding -- 可选参数,要使用的编码,默认编码为 'utf-8'。
errors -- 可选参数,设置不同错误的处理方案。
返回值: 该方法返回解码后的字符串
默认为 'strict',意为编码错误引起一个UnicodeError。
其他可能得值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace'
以及通过 codecs.register_error() 注册的任何值。
str5 = '我是一条咸鱼'
str5_utf8 = str5.encode('utf-8')
str5_gbk = str5.encode('gbk')
print('utf-8解码:', str5_utf8.decode('utf-8', 'strict'))
print('gbk解码:', str5_gbk.decode('gbk', 'strict'))
5.encode(encoding='UTF-8',errors='strict')
作用:以 encoding 指定的编码格式编码字符串,如果出错默认报一个ValueError 的异常,
除非 errors 指定的是'ignore'或者'replace'
str6 = 'china no.1'
str6_utf8 = str6.encode('utf-8')
str6_gbk = str6.encode('gbk')
print("utf-8编码:", str6_utf8)
print("gbk编码:", str6_gbk)
6.endswith(suffix)
作用:检查字符串是否以 obj 结束,如果beg 或者 end 指定则检查指定的范围内是否以 obj 结束,
如果是,返回 True,否则返回 False.
描述:Python endswith() 方法用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。
可选参数"start"与"end"为检索字符串的开始与结束位置。
suffix -- 该参数可以是一个字符串或者是一个元素。
start -- 字符串中的开始位置。
end -- 字符中结束位置。
str7 = 'wuqwuerttiuwu'
str8 = 'wu'
print(str7.endswith(str8))
print(str7.endswith(str8, 7))
print(str7.endswith(str8, 0, 2))
print(str7.endswith(str8, 2, 7))
7.expandtabs(tabsize=8):
把字符串 string 中的 tab 符号转为空格,tab 符号默认的空格数是 8 。
str9 = '\ttu'
str10 = str9 .expandtabs(tabsize=12)
print(len(str10))
8.find(str, beg=0 end=len(string)):
检测 str 是否包含在字符串中,如果指定范围 beg 和 end ,则检查是否包含在指定范围内,
如果包含返回开始的索引值,否则返回-1
str -- 此选项指定要搜索的字符串。
beg -- 这是开始索引,默认情况下为 0。
end -- 这是结束索引,默认情况下它等于字符串的长度。
str11 = 'wwrrshsjfjsnshsahj'
str12 = 'rrs'
print(str11.find(str12))
print(str11.find(str12, 2))
print(str11.find(str12, 10))
9.index(str, beg=0, end=len(string))
跟find()方法一样,只不过如果str不在字符串中会报一个异常.
str1 = "W3xue example....wow!!!"
str2 = "exam"
print(str1.find(str2))
print(str1.find(str2, 5))
print(str1.find(str2, 10))
10.isalnum():
如果字符串至少有一个字符并且所有字符都是字母或数字则返 回 True,否则返回 False
S1 = 'abc汉字1' # 字母+汉字+数字
S2 = '①②③' # 带圈的数字
S3 = '%……&' # 特殊符号
print(S1.isalnum())
print(S2.isalnum())
print(S3.isalnum())
11.isalpha():
如果字符串至少有一个字符并且所有字符都是字母则返回 True, 否则返回 False
S1 = 'abc汉字' # 汉字+字母
S2 = 'ab字134' # 包含数字
S3 = '*&&' # 特殊符号
print(S1.isalpha())
print(S2.isalpha())
print(S3.isalpha())
12.isdigit():
如果字符串只包含数字则返回 True 否则返回 False..
S1 = '12345' # 纯数字
S2 = '①②' # 带圈的数字
S3 = '汉字' # 汉字
S4 = '%#¥' # 特殊符号
print(S1.isdigit())
print(S2.isdigit())
print(S3.isdigit())
print(S4.isdigit())
13.islower():
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,
则返回 True,否则返回 False
str1 = "THIS is string example....wow!!!"
print(str1.islower())
str1 = "this is string example....wow!!!"
print(str1.islower())
14.isnumeric():
如果字符串中只包含数字字符,则返回 True,否则返回 False(中文数字也可以)。
str3 = u"this2009"
print(str3.isnumeric())
str4 = u"23443434"
print(str4.isnumeric())
15.isspace():
如果字符串中只包含空白,则返回 True,否则返回 False.
str3 = " "
print(str3.isspace())
str4 = "咸鱼!!!"
print(str4.isspace())
16.istitle():
如果字符串是标题化的(见 title())则返回 True,否则返回 False。
str2 = "This"
print(str2.istitle())
str3 = "This is"
print(str3.istitle())
17.isupper():
如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,
则返回 True,否则返回 False
str3 = "THIS IS"
print(str3.isupper())
str4 = "THIS is"
print(str4.isupper())
18.join(seq):
以指定字符串作为分隔符,将 seq 中所有的元素(的字符串表示)合并为一个新的字符串
s1 = "+"
s2 = ""
seq = ("x", "i", "a", "n", "y", "u") # 字符串序列
print(s1.join(seq))
print(s2.join(seq))
19.len(string)
返回字符串长度。
str10 = 'woshiyitiaoxiaoxianyu'
print(len(str10))
20.ljust(width[, fillchar]):
返回一个原字符串左对齐,并使用 fillchar 填充至长度 width 的新字符串,fillchar 默认为空格。
str2 = 'nsu'
print(str2.ljust(10, '7'))
21.lower():
转换字符串中所有大写字符为小写.
str10 = 'XIANYUas'
print(str10.lower())
22.lstrip()
截掉字符串左边的空格或指定字符。
str1 = " this is string example....wow!!! "
print(str1.lstrip())
str2 = "88888888this is string example....wow!!!8888888"
print(str2.lstrip('8'))
23.maketrans():
创建字符映射的转换表,对于接受两个参数的最简单的调用方式,
第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。
24.max(str):
返回字符串 str 中最大的字母。
str10 = 'Zqwe'
print(max(str10))
25.min(str):
返回字符串 str 中最小的字母。
str10 = 'Zqwe'
print(min(str10))
26.replace(old, new [, max]):
把 将字符串中的 str1 替换成 str2,如果 max 指定,则替换不超过 max 次。
old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
max -- 可选字符串, 替换不超过 max 次
str1 = "www.w3cschool.cc"
print("菜鸟教程旧地址:", str1)
print("菜鸟教程新地址:", str1.replace("w3cschool.cc", "runoob.com"))
str1 = "this is string example....wow!!!"
print(str1.replace("is", "was", 3))
27.rfind(str, beg=0,end=len(string)):
类似于 find()函数,不过是从右边开始查找.
str -- 查找的字符串
beg -- 开始查找的位置,默认为 0
end -- 结束查找位置,默认为字符串的长度。
str = "this is really a string example....wow!!!"
substr = "is"
print(str.rfind(substr))
print(str.rfind(substr, 0, 10))
print(str.rfind(substr, 10, 0))
print(str.find(substr))
print(str.find(substr, 0, 10))
print(str.find(substr, 10, 0))
28.rindex( str, beg=0, end=len(string)):
类似于 index(),不过是从右边开始.
str1 = "W3xue example....wow!!!"
str2 = "exam"
print(str1.find(str2))
print(str1.find(str2, 5))
print(str1.find(str2, 10))
29.rjust(width,[, fillchar])
返回一个原字符串右对齐,并使用fillchar(默认空格)填充至长度 width 的新字符串
str2 = 'nsu'
print(str2.rjust(10, '7'))
30.rstrip():
删除字符串字符串末尾的空格.
str9 = '8888 we are 8888'
print(str9.rsplit('8'))
31.split(str="", num=string.count(str))
num=string.count(str)) 以 str 为分隔符截取字符串,如果 num 有指定值,则仅截取 num 个子字符串
str: 表示为分隔符,默认为空格,但是不能为空('')。若字符串中没有分隔符,则把整个字符串作为列表的一个元素
num:表示分割次数。如果存在参数num,则仅分隔成 num+1 个子字符串,并且每一个子字符串可以赋给新的变量
[n]: 表示选取第n个分片
注意:当使用空格作为分隔符时,对于中间为空的项会自动忽略
t = 'wo.shi.yi'
print(t.split('.'))
print(t.split('.', 0))
print(t.split('.', 2))
print(t.split('.', 2)[2])
print(t.split('.', -1))
t1, t2, t3 = t.split('.')
print(t1)
print(t2)
print(t3)
32.splitlines([keepends]):
按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,
如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
str1 = 'ab c\n\nde fg\rkl\r\n'
print(str1.splitlines())
str2 = 'ab c\n\nde fg\rkl\r\n'
print(str2.splitlines(True))
33.startswith(str, beg=0,end=len(string))
检查字符串是否是以 obj 开头,是则返回 True,否则返回 False。如果beg 和 end 指定值,则在指定范围内检查。
参数说明:
string: 被检测的字符串
str: 指定的字符或者子字符串。(可以使用元组,会逐一匹配)
beg: 设置字符串检测的起始位置(可选)
end: 设置字符串检测的结束位置(可选)
如果存在参数 beg 和 end,则在指定范围内检查,否则在整个字符串中检查
返回值
如果检测到字符串,则返回True,否则返回False。默认空字符为True
函数解析:如果字符串string是以str开始,则返回True,否则返回False
s = 'hello good boy doiido'
print(s.startswith('h'))
print(s.startswith('hel'))
print(s.startswith('h',4))
print(s.startswith('go',6,8))
34.strip([chars])
在字符串上执行 lstrip()和 rstrip()
描述:
Python strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
chars -- 移除字符串头尾指定的字符序列。
str1 = "*****xianyuyitiao**buxiangduoshuo....!!!*****"
print(str1.strip('*')) # 指定字符串 *
35.swapcase():
将字符串中大写转换为小写,小写转换为大写
str1 = 'xianYUyiTIAO'
print(str1.swapcase())
36.title():
返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写(见 istitle())
str1 = 'you are fish'
print(str1.title())
37.translate(table, deletechars=""):
根据 str 给出的表(包含 256 个字符)转换 string 的字符, 要过滤掉的字符放到 deletechars 参数中
38.upper():
转换字符串中的小写字母为大写
str2 = 'aBCCasad'
print(str2.upper())
39.zfill (width):
返回长度为 width 的字符串,原字符串右对齐,前面填充0
str5 = 'xianyu'
print(str5.zfill(10))
40.isdecimal():
检查字符串是否只包含十进制字符,如果是返回 true,否则返回 false。
str5 = '89awerfg'
str1 = '123'
str2 = 'qwert'
print(str5.isdecimal())
print(str1.isdecimal())
print(str2.isdecimal())