字符串类型继承自object
字符串实例方法通过字符串类型实例s调用,其方法包含字符串大小写相关方法、编码方法、字符串格式化、字符串分割、字符串查找等
字符串大小写相关
方法名 | 描述 |
s.capitalize() |
|
s.casefold() |
返回原字符串消除大小写的副本。 消除大小写的字符串可用于忽略大小写的匹配。 消除大小写类似于转为小写,但是更加彻底一些,因为它会移除字符串中的所有大小写变化形式。 例如,德语小写字母 'ß' 相当于 "ss"。 由于它已经是小写了,lower() 不会对 'ß' 做任何改变;而 casefold() 则会将其转换为 "ss |
s. istitle () |
如果字符串中至少有一个字符且为标题字符串则返回真值,例如大写字符之后只能带非大写字符而小写字符必须有大写字符打头。 否则返回假值。
|
s. isupper () |
如果字符串中至少有一个区分大小写的字符 , 具此类字符均为大写则返回真值,否则返回假值。
|
s. islower () |
字符串中至少有一个可以区分大小写的字符 ,且此类字符均为小写则返回真值,否则返回假值。
|
s. lower () |
返回原字符串的副本,其所有区分大小写的字符,均转换为小写。
|
s. upper () |
返回原字符串的副本,其中所有区分大小写的字符,均转换为大写。 请注意如果 s 包含不区分大小写的字符或者如果结果字符的 Unicode 类别不是 "Lu" (Letter, uppercase) 而是 "Lt" (Letter, titlecase) 则 s.upper().isupper() 有可能为 False 。
|
s. title () |
返回原字符串的标题版本,其中每个单词第一个字母为大写,其余字母为小写。
该算法使用一种简单的与语言无关的定义,将连续的字母组合视为单词。 该定义在多数情况下都很有效,但它也意味着代表缩写形式与所有格的撇号也会成为单词边界,这可能导致不希望的结果
|
s. swapcase () |
返回原字符串的副本,其中大写字符转换为小写,反之亦然。 请注意 s.swapcase().swapcase() == s 并不一定为真值。 |
字符串数字判别
s. isalnum () |
|
s. isalpha () |
字母类字符是在 Unicode 字符数据库中被定义为 "Letter" 的字符,即一般分类特征属性为 "Lm", "Lt", "Lu", "Ll" 或 "Lo" 其中之一。 请注意这不同于 Unicode 标准所定义的 "Alphabetic" 特征属性。
|
s. isascii () |
|
s. isdecimal () |
十进制数字符是以 10 为基数的计数制会用来组成数值的字符,例如 U+0660, ARABIC-INDIC DIGIT ZERO。 正式的定义为:十进制数字符就是 Unicode 一般分类 "Nd" 中的字符。 |
s. isdigit () |
如果字符串中至少有一个字符且所有字符均为数字字符则返回真值,否则返回假值。 数字字符包括十进制数字符和需要特别处理的数字,例如兼容性上标数字。 这也涵盖了不能被用来组成以 10 为基数的数值的数字,例如 Kharosthi 数字。 正式的定义为:数字字符就是特征属性值 Numeric_Type=Digit 或 Numeric_Type=Decimal 的字符。
|
s. isnumeric () |
如果字符串中至少有一个字符且所有字符均为数值字符则返回真值,否则返回假值。 数值字符包括数字字符,以及所有在 Unicode 中设置了数值特性属性的字符,例如 U+2155, VULGAR FRACTION ONE FIFTH。 正式的定义为:数值字符就是具有特征属性值 Numeric_Type=Digit, Numeric_Type=Decimal 或 Numeric_Type=Numeric 的字符。
|
字符串查找
方法名 | 描述 |
s.center(width[, fillchar]) |
返回长度为 width 的字符串,原字符串在其正中。 使用指定的 fillchar 填充两边的空位(默认使用 ASCII 空格符)。 如果 width 小于等于 len(s) 则返回原字符串的副本。
|
s.count(sub[, start[, end]]) |
返回子字符串 sub 在 [start, end] 范围内非重叠出现的次数。 可选参数 start 与 end 会被解读为切片表示法。
|
s. startswith (prefix[, start[, end]]) |
如果字符串以指定的 prefix 开始则返回
|
s. endswith (suffix[, start[, end]]) |
如果字符串末尾以指定的 suffix 结束返回
|
s. find (sub[, start[, end]]) |
返回子字符串 sub 在 s[start:end] 切片内被找到的最小索引。 可选参数 start 与 end 会被解读为切片表示法。 如果 sub 未被找到则返回 -1 。
|
s. index (sub[, start[, end]]) |
|
s. rfind (sub[, start[, end]]) |
返回子字符串 sub 在字符串内被找到的最大(最右)索引,这样 sub 将包含在
|
s. rindex (sub[, start[, end]]) |
|
s. rjust (width[, fillchar]) |
返回长度为 width 的字符串,原字符串在其中靠右对齐。 使用指定的 fillchar 填充空位 (默认使用 ASCII 空格符)。 如果 width 小于等于
|
s. ljust (width[, fillchar]) |
返回长度为 width 的字符串,原字符串在其中靠左对齐。 使用指定的 fillchar 填充空位 (默认使用 ASCII 空格符)。 如果 width 小于等于 len(s) 则返回原字符串的副本。 |
字符串分割与拼接
s. split (sep=None, maxsplit=-1) |
返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串。 如果给出了 maxsplit,则最多进行 maxsplit 次拆分(因此,列表最多会有 如果给出了 sep,则连续的分隔符不会被组合在一起而是被视为分隔空字符串 (例如 如果 sep 未指定或为
|
||||||||||||||||||||||||
s. splitlines ([keepends]) |
返回由原字符串中各行组成的列表,在行边界的位置拆分。 结果列表中不包含行边界,除非给出了 keepends 且为真值。
此方法会以下列行边界进行拆分。 特别地,行边界是 universal newlines 的一个超集。
|
||||||||||||||||||||||||
s. rsplit (sep=None, maxsplit=-1) |
返回一个由字符串内单词组成的列表,使用 sep 作为分隔字符串。 如果给出了 maxsplit,则最多进行 maxsplit 次拆分,从 最右边 开始。 如果 sep 未指定或为 None ,任何空白字符串都会被作为分隔符。 除了从右边开始拆分,rsplit() 的其他行为都类似于 split() 。 |
||||||||||||||||||||||||
s. partition (sep) |
在 sep 首次出现的位置拆分字符串,返回一个 3 元组,其中包含分隔符之前的部分、分隔符本身,以及分隔符之后的部分。 如果分隔符未找到,则返回的 3 元组中包含字符本身以及两个空字符串。
|
||||||||||||||||||||||||
s. rpartition (sep) |
在 sep 最后一次出现的位置拆分字符串,返回一个 3 元组,其中包含分隔符之前的部分、分隔符本身,以及分隔符之后的部分。 如果分隔符未找到,则返回的 3 元组中包含两个空字符串以及字符串本身。 | ||||||||||||||||||||||||
s. join (iterable) |
返回一个由 iterable 中的字符串拼接而成的字符串。 如果 iterable 中存在任何非字符串值包括 bytes 对象则会引发 TypeError 。 调用该方法的字符串将作为元素之间的分隔。
|
字符串替换与格式化
方法名 | 描述 |
s. expandtabs (tabsize=8) |
返回字符串的副本,其中所有的制表符会由一个或多个空格替换,具体取决于当前列位置和给定的制表符宽度。
|
s. format (*args, **kwargs) |
执行字符串格式化操作。 调用此方法的字符串可以包含字符串字面值或者以花括号 {} 括起来的替换域。 每个替换域可以包含一个位置参数的数字索引,或者一个关键字参数的名称。 返回的字符串副本中每个替换域都会被替换为对应参数的字符串值。
|
s. format_map (mapping) |
类似于
|
s. lstrip ([chars]) |
返回原字符串的副本,移除其中的前导字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None ,则 chars 参数默认移除空格符。 实际上 chars 参数并非指定单个前缀;而是会移除参数值的所有组合:
|
s. rstrip ([chars]) |
返回原字符串的副本,移除其中的末尾字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None ,则 chars 参数默认移除空格符。 实际上 chars 参数并非指定单个后缀;而是会移除参数值的所有组合 |
s. strip ([chars]) |
返回原字符串的副本,移除首尾字符。 chars 参数为指定要移除字符的字符串。 如果省略或为 None ,则 chars 参数默认移除空格符。 实际上 chars 参数并非指定单个后缀;而是会移除参数值的所有组合 |
s. replace (old, new[, count]) |
返回字符串的副本,其中出现的所有子字符串 old 都将被替换为 new。 如果给出了可选参数 count,则只替换前 count 次出现。
|
|
返回原字符串的副本,在左边填充 ASCII
|
字符串编码
方法名 | 描述 |
s.encode (encoding="utf-8", errors="strict") |
返回原字符串编码为字节串对象的版本。 默认编码为 'utf-8'。 可以给出 errors 来设置不同的错误处理方案。 errors 的默认值为 'strict',表示编码错误会引发 UnicodeError。 其他可用的值为 'ignore', 'replace', 'xmlcharrefreplace', 'backslashreplace' 以及任何其他通过 codecs.register_error() 注册的值,请参阅 Error Handlers 小节。 要查看可用的编码列表,请参阅 标准编码 小节。
|
其他方法
方法名 | 描述 |
s. isidentifier () |
如果字符串根据语言定义属于有效的标识符则返回真值,参见 标识符和关键字。需要额外使用 |
s. isprintable () |
如果字符串中所有字符均为可打印字符或字符串为空则返回真值,否则返回假值。 不可打印字符是在 Unicode 字符数据库中被定义为 "Other" 或 "Separator" 的字符,例外情况是 ASCII 空格字符 (0x20) 被视作可打印字符。 (请注意在此语境下可打印字符是指当对一个字符串发起调用 repr() 时不必被转义的字符。 它们与字符串写入 sys.stdout 或 sys.stderr 时所需的处理无关。) |
s. isspace () |
如果字符串中至少有一个字符且所有字符均为空白字符则返回真值,否则返回假值。 空白字符是在 Unicode 字符数据库中被定义为 "Other" 或 "Separator" 并且其双向特征属性为 "WS", "B" 或 "S" 之一的字符。 |
s. translate (table) |
返回原字符串的副本,其中每个字符按给定的转换表进行映射。 转换表必须是一个使用 你可以使用 |
static str. maketrans (x[, y[, z]]) |
此静态方法返回一个可供 如果只有一个参数,则它必须是一个将 Unicode 码位序号(整数)或字符(长度为 1 的字符串)映射到 Unicode 码位序号、(任意长度的)字符串或 如果有两个参数,则它们必须是两个长度相等的字符串,并且在结果字典中,x 中每个字符将被映射到 y 中相同位置的字符。 如果有第三个参数,它必须是一个字符串,其中的字符将在结果中被映射到 |
讨论区