字符串

报告问题 查看源代码 每晚

一种支持字符串的语言内置类型。字符串字面量示例:
a = 'abc\ndef'
b = "ab'cd"
c = """multiline string"""

# Strings support slicing (negative index starts from the end):
x = "hello"[2:4]  # "ll"
y = "hello"[1:-1]  # "ell"
z = "hello"[:4]  # "hell"# Slice steps can be used, too:
s = "hello"[::2] # "hlo"
t = "hello"[3:0:-1] # "lle"
字符串不可直接迭代,请使用 .elems() 方法遍历其字符。示例:
"bc" in "abcd"   # evaluates to True
x = [c for c in "abc".elems()]  # x == ["a", "b", "c"]
不允许隐式串联字符串;请改用 + 运算符。比较运算符执行字典顺序比较;使用 == 测试是否相等。

成员

capitalize

string string.capitalize()

返回字符串副本,其中第一个字符(如果有)大写,其余字符小写。此方法不支持非 ASCII 字符。

计数

int string.count(sub, start=0, end=None)

返回字符串中子字符串“sub”的(不重叠)出现的次数,可选择限制为 [start:end]start 包括边界值,end 不包括边界值。

参数

参数 说明
sub string; required
要计算的子字符串。
start int;或 None;默认值为 0
限制为从此位置搜索。
end int;或 None;默认为 None
可选位置,将范围限定在它之前。

元素

sequence string.elems()

返回一个可迭代值,其中包含字符串的连续 1 个元素子字符串。等同于 [s[i] for i in range(len(s))],但返回的值可能不是列表。

endswith

bool string.endswith(sub, start=0, end=None)

如果字符串以 sub 结尾,则返回 True,否则返回 False。可以选择限制为 [start:end]start 包含边界值,end 表示不包含边界值。

参数

参数 说明
sub string;或tuple/字符串s; required
要匹配的后缀(或元组)。
start int;或 None;默认值为 0
测试从此位置开始。
end int;或 None;默认为停止比较的 None
可选位置。

find

int string.find(sub, start=0, end=None)

返回找到 sub 的第一个索引;如果不存在此类索引,则返回 -1(可选限制为 [start:end]start 包含边界值,end 不包含边界值)。

参数

参数 说明
sub string; required
要查找的子字符串。
start int;或 None;默认值为 0
限制为从此位置搜索。
end int;或 None;默认为 None
可选位置,将范围限定在它之前。

格式

string string.format(*args, **kwargs)

执行字符串插值。格式字符串包含用大括号 {} 包围的替换字段。大括号内未包含的任何内容均被视为文本文本,不会原样复制到输出中。如果您需要在文本文本中包含大括号字符,可以通过将大括号字符“{{”和“}}”进行转义。替换字段可以是名称、数字或空。系统会使用 str 函数将值转换为字符串。
# Access in order:
"{} < {}".format(4, 5) == "4 < 5"
# Access by position:
"{1}, {0}".format(2, 1) == "1, 2"
# Access by name:
"x{key}x".format(key = 2) == "x2x"

参数

参数 说明
args 默认值为 ()
参数列表。
kwargs 默认值为 {}
参数字典。

索引

int string.index(sub, start=0, end=None)

返回找到 sub 的第一个索引;如果不存在此类索引,则会引发错误,可以选择限制为 [start:end]start(含)和 end(不含)。

参数

参数 说明
sub string; required
要查找的子字符串。
start int;或 None;默认值为 0
限制为从此位置搜索。
end int;或 None;默认为 None
可选位置,将范围限定在它之前。

isalnum

bool string.isalnum()

如果字符串中的所有字符都是字母数字字符 ([a-zA-Z0-9]),并且至少有一个字符,则返回 True。

isalpha

bool string.isalpha()

如果字符串中的所有字符都是字母 ([a-zA-Z]),并且至少有一个字符,则返回 True。

isdigit

bool string.isdigit()

如果字符串中的所有字符都是数字 ([0-9]) 且至少有一个字符,则返回 True。

islower

bool string.islower()

如果字符串中的所有大小写字符均为小写且至少有一个字符,则返回 True。

isspace

bool string.isspace()

如果所有字符都是空格字符,并且字符串至少包含一个字符,则返回 True。

istitle

bool string.istitle()

如果字符串采用词首字母大写形式且至少包含一个字符,则返回 True。也就是说,每个大写字符都必须跟随一个非大小写字符(例如空格),每个小写字符都必须跟一个大小写字符(例如大写或小写)。

isupper

bool string.isupper()

如果字符串中的所有大小写字符都大写且至少有一个字符,则返回 True。

join

string string.join(elements)

返回一个字符串,其中参数的字符串元素已由此字符串连接作为分隔符。示例:
"|".join(["a", "b", "c"]) == "a|b|c"

参数

参数 说明
elements required
要联接的对象。

3 年

string string.lower()

返回该字符串的小写版本。

lstrip

string string.lstrip(chars=None)

返回字符串的副本,其中 chars 中显示的前导字符会被移除。请注意,chars 不是前缀:系统会移除其值的所有组合:
"abcba".lstrip("ba") == "cba"

参数

参数 说明
chars string;或 None;默认值为 None
要移除的字符,或所有空格(如果无)。

partition

tuple string.partition(sep)

在分隔符 sep 首次出现时拆分输入字符串,并将生成的分区以形式(之前、分隔符、之后)的三元素元组形式返回。如果输入字符串不包含分隔符,则分区会返回 (self, '', '')。

参数

参数 说明
sep string; required
要拆分的字符串。

removeprefix

string string.removeprefix(prefix)

如果该字符串以 prefix 开头,则返回一个已移除前缀的新字符串。否则,返回该字符串。

参数

参数 说明
prefix string; required
要移除的前缀(如果存在)。

removesuffix

string string.removesuffix(suffix)

如果该字符串以 suffix 结尾,则返回已移除后缀的新字符串。否则,返回该字符串。

参数

参数 说明
suffix string; required
要移除的后缀(如果存在)。

替换

string string.replace(old, new, count=-1)

返回字符串的副本,其中出现的 old 已被 new 替换,并可以选择将替换次数限制为 count

参数

参数 说明
old string; required
要替换的字符串。
new string; required
要替换的字符串。
count int;默认值为 -1
替换次数上限。如果省略或值为负数,则表示无限制。

rfind

int string.rfind(sub, start=0, end=None)

返回找到 sub 的最后一个索引;如果不存在此类索引,则返回 -1(可选限制为 [start:end]start 包含边界值,end 不包含边界值)。

参数

参数 说明
sub string; required
要查找的子字符串。
start int;或 None;默认值为 0
限制为从此位置搜索。
end int;或 None;默认为 None
可选位置,将范围限定在它之前。

rindex

int string.rindex(sub, start=0, end=None)

返回找到 sub 的最后一个索引;如果不存在此类索引,则会引发错误,可以选择限制为 [start:end]start 包含边界值,end 不包含边界值。

参数

参数 说明
sub string; required
要查找的子字符串。
start int;或 None;默认值为 0
限制为从此位置搜索。
end int;或 None;默认为 None
可选位置,将范围限定在它之前。

rpartition

tuple string.rpartition(sep)

在分隔符 sep 最后一次出现时拆分输入字符串,并以形式(之前、分隔符、之后)的三元素元组形式返回生成的分区。如果输入字符串不包含分隔符,rPartition 会返回 ('', '', self)。

参数

参数 说明
sep string; required
要拆分的字符串。

rsplit

list string.rsplit(sep, maxsplit=None)

使用 sep 作为分隔符,返回字符串中所有字词的列表,可以选择将拆分数量限制为 maxsplit。除了从右侧拆分之外,此方法的行为类似于 split()。

参数

参数 说明
sep string; required
要拆分的字符串。
maxsplit int;或 None;默认值为 None
拆分的最大数量。

rstrip

string string.rstrip(chars=None)

返回字符串的副本,其中 chars 中出现的尾随字符会被移除。请注意,chars 不是后缀:系统会移除其值的所有组合:
"abcbaa".rstrip("ab") == "abc"

参数

参数 说明
chars string;或 None;默认值为 None
要移除的字符,或所有空格(如果无)。

分片

list string.split(sep, maxsplit=None)

返回字符串中所有字词的列表,使用 sep 作为分隔符,可以选择将拆分数量限制为 maxsplit

参数

参数 说明
sep string; required
要拆分的字符串。
maxsplit int;或 None;默认值为 None
拆分的最大数量。

splitlines

sequence string.splitlines(keepends=False)

从行边界(“\n”“\r\n”“\r”)拆分字符串,并返回结果作为新的可变列表。

参数

参数 说明
keepends bool;默认值为 False
是否应在结果列表中添加换行符。

startswith

bool string.startswith(sub, start=0, end=None)

如果字符串以 sub 开头,则返回 True,否则返回 False。可以选择限制为 [start:end]start 包含边界值,end 不包含边界值。

参数

参数 说明
sub string;或“strings”的元组; required
要匹配的前缀(或替代前缀的元组)。tuple
start int;或 None;默认值为 0
测试从此位置开始。
end int;或 None;默认值为 None
停止在此位置进行比较。

strip

string string.strip(chars=None)

返回字符串的副本,其中 chars 中出现的前导或尾随字符会被移除。请注意,chars 既不是前缀,也不是后缀:系统会移除其值的所有组合:
"aabcbcbaa".strip("ab") == "cbc"

参数

参数 说明
chars string;或 None;默认值为 None
要移除的字符,或所有空格(如果无)。

title

string string.title()

将输入字符串转换为词首字母大写,即每个单词都以大写字母开头,而其余字母则小写。在此上下文中,一个单词严格意义上是指一系列字母。此方法不支持补充的 Unicode 字符。

upper

string string.upper()

返回该字符串的大写版本。