—— 字符串操作——
(1)S.capitalize()
作用:将字符串的第一个字母变成大写,其他字母变小写,该方法返回一个首字母大写的字符串。
(2)S.center()
作用:()里面的两个参数,第一个是宽度,第二个是填充字符。返回一个原字符串居中,并使用填充字符填充至长度 width 的新字符串。默认填充字符为空格。
(3)S.count()
作用:用于统计字符串里某个字符出现的次数。可选参数为在字符串搜索的开始与结束位置。
参数:sub -- 搜索的子字符串
start -- 字符串开始搜索的位置。默认为第一个字符,第一个字符索引值为0。
end -- 字符串中结束搜索的位置。默认为字符串的最后一个位置。
(4)S.encode()
作用:以 encoding 指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。S.encode()返回编码后的字符串。
参数:encoding -- 要使用的编码,如"UTF-8"。
errors -- 设置不同错误的处理方案。默认为 'strict',意为编码错误引起一个UnicodeError。 其他可能的值有 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及通过 codecs.register_error() 注册的任何值。
(5)S.endswith()
作用:用于判断字符串是否以指定后缀结尾,如果以指定后缀结尾返回True,否则返回False。可选参数"start"与"end"为检索字符串的开始与结束位置。
参数:suffix -- 该参数可以是一个字符串或者是一个元素。
start -- 字符串中的开始位置。
end -- 字符中结束位置。
(6)S.expandtabs
作用:把字符串中的 tab 符号('\t')转为空格,tab 符号('\t')默认的空格数是 8。返回字符串中的将 tab 符号('\t')转为空格后生成的新字符串。
参数:tabsize -- 指定转换字符串中的 tab 符号('\t')转为空格的字符数。
(7)S.find()
作用:检测字符串中是否包含子字符串 sub,如果指定start(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
参数:sub -- 指定检索的字符串。
start -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。
在这里补充一点,为什么返回的是第一个字符的索引,因为字符串也可以“切片”。如下图所示:
(8)S.format()
作用:格式化输出
复习一下S.format()的用法:
(9)S.format_map()
作用:也是格式化输出,可以通过字典设置参数
(10)S.index()
作用:检测字符串中是否包含子字符串 sub ,如果指定start(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,该方法与 python find()方法一样,只不过如果sub不在 string中会报一个异常。
参数:sub -- 指定检索的字符串
start -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。
S.index()如果包含子字符串返回开始的索引值,否则抛出异常。
S.find()不会报错,只打印一个-1:
(11)S.isalnum()
作用:检测字符串是否由字母和数字组成。如果 string 至少有一个字符并且所有字符都是字母或数字则返回 True,否则返回 False。
第一个name因为包含空格,所以返回了False。
(12)S.isalpha()
作用:检测字符串是否只由字母组成。如果字符串至少有一个字符并且所有字符都是字母则返回 True,否则返回 False。
第一个name因为包含数字4和空格 ,所以返回了False。第二个name因为没有任何字符,所以返回了False。第三个name只包含字母,所以返回了True。
(13)S.decimal()
(14)S.isdigit()
(15)S.isnumeric()
这三者的区别:
总结一下:
(16)S.identifier()
作用:用于判断字符串是否是有效的 Python 标识符,可用来判断变量名是否合法。如果字符串是有效的 Python 标识符返回 True,否则返回 False。
第一个name,标识符不能以数字开头,所以返回False;第二个name因为包含"#",所以返回了False;第三个是没有问题的;第四个中文也可以当标识符,所以返回了True。
(17)S.islower()
作用:检测字符串是否由小写字母组成。如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回 True,否则返回 False。
(18)S.isupper()
作用:检测字符串中所有的字母是否都为大写。如果字符串中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回 True,否则返回 False。
(19)S.isprintable()
作用:判断字符串中所有字符是否都是可打印字符(in repr())或字符串为空。如果字符串中的所有字符都是可打印的字符或字符串为空返回 True,否则返回 False。
Unicode字符集中“Other” 、“Separator”类别的字符为不可打印的字符(但不包括ASCII码中的空格(0x20))。可用于判断转义字符。
ASCII码中第0~32号及第127号是控制字符;第33~126号是可打印字符,其中第48~57号为0~9十个阿拉伯数字;65~90号为26个大写英文字母,97~122号为26个小写英文字母。
(20)S.isapace()
作用:检测字符串是否只由空格组成。如果字符串中只包含空格,则返回 True,否则返回 False。
(21)S.istitle()
作用:检测字符串中所有的单词拼写首字母是否为大写,且其他字母为小写。如果字符串中所有的单词拼写首字母是否为大写,且其他字母为小写则返回 True,否则返回 False。
(22)S.join()
作用:用于将序列中的元素以指定的字符连接生成一个新的字符串。
可以将一个列表用指定字符连接成一个字符串。
(23)S.ljust()
作用:返回一个原字符串左对齐,并使用空格填充至指定长度的新字符串。(如果指定的长度小于原字符串的长度则返回原字符串。)
参数:width -- 指定字符串长度。
fillchar -- 填充字符,默认为空格。
(24)S.rjust()
作用:返回一个原字符串右对齐,并使用空格填充至长度 width 的新字符串。如果指定的长度小于字符串的长度则返回原字符串。
参数:width -- 指定填充指定字符后中字符串的总长度.
fillchar -- 填充的字符,默认为空格。
(25)S.lower()
作用:转换字符串中所有大写字符为小写。返回将字符串中所有大写字符转换为小写后生成的字符串。
(26)S.upper()
作用:将字符串中的小写字母转为大写字母。返回小写字母转为大写字母的字符串。
(27)S.lstrip()
作用:用于截掉字符串左边的空格、换行符或指定字符。返回截掉字符串左边的空格、换行符或指定字符后生成的新字符串。
参数:chars --指定截取的字符。
移除空格:
移除换行符:
移除指定字符:
(28)S.rstrip()
作用: 删除 string 字符串末尾的指定字符(默认为空格、换行符)。返回删除 string 字符串末尾的指定字符后生成的新字符串。
参数:chars -- 指定删除的字符(默认为空格、换行符)
移除空格:
移除换行符:
移除指定字符:
(29)S.strip()
作用:用于移除字符串头尾指定的字符(默认为空格或换行符)或字符序列。
注意:该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
参数:chars -- 移除字符串头尾指定的字符序列。
移除空格:
移除换行符:
移除指定字符:
(30)str.maketrans()
作用:用于创建字符映射的转换表,对于接受两个参数的最简单的调用方式,第一个参数是字符串,表示需要转换的字符,第二个参数也是字符串表示转换的目标。返回字符串转换后生成的新字符串。
两个字符串的长度必须相同,为一一对应的关系。
此方法不太常用,可以创建随机密码:
这样“mango”就被加密为“#1$7o”。
(31)S.replace()
作用:把字符串中的 old(旧字符串) 替换成 new(新字符串),如果指定第三个参数count,则替换不超过count次。
参数:old -- 将被替换的子字符串。
new -- 新字符串,用于替换old子字符串。
count -- 可选字符串, 替换不超过 count 次。
(32)S.refind()
作用:返回字符串最后一次出现的位置,如果没有匹配项则返回-1。
参数:str -- 查找的字符串。
start -- 开始查找的位置,默认为0
end -- 结束查找位置,默认为字符串的长度。
(33)S.split()
作用:通过指定分隔符对字符串进行切片,如果参数 maxsplit 有指定值,则分隔 maxsplit+1 个子字符串。
参数:sep -- 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
maxsplit -- 分割次数。默认为 -1, 即分隔所有。
第一个例子演示了默认以空格分隔开,第二个例子演示了,这时的分割标志为“a”,如果参数为1,则分割为两个部分,以第一个“a”分割开来,若是参数为2,则分割为3个部分。第三个例子演示了这种方法常用于将式子中的数值提取出来。
(34)S.splitlines()
作用:按照行('\r', '\r\n', \n')分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。
参数:keepends -- 在输出结果里是否去掉换行符('\r', '\r\n', \n'),默认为 False,不包含换行符,如果为 True,则保留换行符。
(35)S.rsplit()
作用:通过指定分隔符对字符串进行分割并返回一个列表,默认分隔符为所有空字符,包括空格、换行(\n)、制表符(\t)等。类似于 split() 方法,只不过是从字符串最后面开始分割。返回分割后的字符串列表。
参数:sep -- 可选参数,指定的分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
maxsplit -- 可选参数,分割次数,默认为分隔符在字符串中出现的总次数。
(36)S.startwith()
作用:用于检查字符串是否是以指定子字符串开头,如果是则返回 True,否则返回 False。如果参数 start 和 end 指定值,则在指定范围内检查。
参数:prefix -- 检测的字符串。
start -- 可选参数用于设置字符串检测的起始位置。
end -- 可选参数用于设置字符串检测的结束位置。
(37)S.swapcase()
作用:用于对字符串的大小写字母进行转换。返回大小写字母转换后生成的新字符串。
(38)S.title()
作用:返回"标题化"的字符串,就是说所有单词都是以大写开始,其余字母均为小写。
(39)S.zfill()
作用:返回指定长度的字符串,原字符串右对齐,前面填充0。
参数:width -- 指定字符串的长度。原字符串右对齐,前面填充0。
补充:
字符串可以查:
但是字符串不可以像列表那样,进行更改:
错误类型显示:字符串不支持这样的操作。
原因是:字符串在进行修改之后,比如上面说的大写变小写或者小写变大写,使生成了一个新的字符串,并且对原字符串进行了覆盖,所以不能对其中单独的一部分进行修改。