字符串

使用集合让一切井井有条 根据您的偏好保存内容并对其进行分类。
一种支持字符串的语言内置类型。字符串字面量示例:
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 = [s for s.elems() in "abc"]  # x == ["a", "b", "c"]
不允许使用隐式串联的字符串;请改用 + 运算符。比较运算符执行字典顺序比较;使用 == 测试是否相等。

成员

大写

string string.capitalize()

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

计数

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

返回字符串中子字符串 sub 的出现次数(不重叠),可以限定为 [start:end]start(含)和 end(不含)。

参数

参数 说明
sub required
要统计的子字符串。
start int; or None;默认值 = 0
限制为仅从此位置搜索。
end int; or None;默认值 = 无
表示可限制搜索之前的可选位置。

CANNOT TRANSLATE

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; or tuple of strings;必需
要匹配的后缀(或替代后缀元组)。
start int; or None;默认值 = 0
从此位置开始测试。
end int; or None;默认值 = 无
可停止比较的可选位置。

查找

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

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

参数

参数 说明
sub required
要查找的子字符串。
start int; or None;默认值 = 0
限制为仅从此位置搜索。
end int; or None;默认值 = 无
表示可限制搜索之前的可选位置。

format

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 default = ()
参数列表。
kwargs default = {}
参数字典。

index

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

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

参数

参数 说明
sub required
要查找的子字符串。
start int; or None;默认值 = 0
限制为仅从此位置搜索。
end int; or 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。

连接

string string.join(elements)

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

参数

参数 说明
elements 必需
要连接的对象。

下半部

string string.lower()

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

lstrip

string string.lstrip(chars=None)

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

参数

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

partition

tuple string.partition(sep)

在第一次出现分隔符 sep 时拆分输入字符串,并将生成的分区作为表单的三元素元组(分隔符之前、之后)返回。如果输入字符串不包含分隔符,则分区返回(self, '', '')。

参数

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

removeprefix

string string.removeprefix(prefix)

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

参数

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

removesuffix

string string.removesuffix(suffix)

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

参数

参数 说明
suffix 必需
要移除的后缀(如果存在)。

替换

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

返回一个字符串,其中出现 old 的次数已替换为 new,可以选择将替换次数限制为 maxsplit

参数

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

rfind

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

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

参数

参数 说明
sub required
要查找的子字符串。
start int; or None;默认值 = 0
限制为仅从此位置搜索。
end int; or None;默认值 = 无
表示可限制搜索之前的可选位置。

rindex

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

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

参数

参数 说明
sub required
要查找的子字符串。
start int; or None;默认值 = 0
限制为仅从此位置搜索。
end int; or None;默认值 = 无
表示可限制搜索之前的可选位置。

rpartition

tuple string.rpartition(sep)

拆分上次出现分隔符 sep 的输入字符串,并将生成的分区作为表单的三元素元组(分隔符之前、之后)返回。如果输入字符串不包含分隔符,则 rpartition 会返回 ('', '', self)。

参数

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

rsplit

list string.rsplit(sep, maxsplit=None)

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

参数

参数 说明
sep required
要拆分的字符串。
maxsplit int; or None;默认值 = None
最大拆分次数。

rstrip

string string.rstrip(chars=None)

返回一个字符串的副本,该字符串会在 chars 中移除结尾字符。请注意,chars 不是后缀:其值的所有组合都会被移除:
"abcbaa".rstrip("ab") == "abc"

参数

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

分片

list string.split(sep, maxsplit=None)

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

参数

参数 说明
sep required
要拆分的字符串。
maxsplit int; or None;默认值 = None
最大拆分次数。

splitlines

sequence string.splitlines(keepends=False)

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

参数

参数 说明
keepends default = False
生成的结果中是否应包含换行符。

startswith

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

如果字符串以 sub 开头,则返回 True;否则返回 False,可以选择限制 [start:end]start(含)和 end(不含)。

参数

参数 说明
sub string; or tuple of strings;必需
要匹配的前缀(或备用前缀元组)。
start int; or None;默认值 = 0
从此位置开始测试。
end int; or None;默认值 = None
停止此位置的比较。

strip

string string.strip(chars=None)

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

参数

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

标题

string string.title()

将输入字符串转换为词首字母大写,即每个单词都以大写字母开头,其余字母小写。在这种情况下,单词就是指一串字母。此方法不支持补充 Unicode 字符。

上半部

string string.upper()

返回此字符串的大写形式。