string

报告问题 查看源代码

一种语言内置类型,用于支持字符串。字符串字面量示例:
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 必需
要统计的子字符串。
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; 必需
要匹配的后缀(或备用后缀的元组)。
start int;或 None;默认值为 0
从此位置开始测试。
end int;或 None;默认值为 None
可选,表示停止比较的位置。

查找

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

返回找到 sub 的第一个索引,如果不存在此类索引,则返回 -1,可选择性地限制在 [start:end] 以内,start 包括在内,end 则不包括在内。

参数

参数 说明
sub 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 默认值为 {}
参数字典。

index

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

返回找到 sub 的第一个索引,如果不存在此类索引,则引发错误,可选择性地限制为包含 [start:end]start 且不包含 end

参数

参数 说明
sub 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
要移除的字符,如果为 None,则所有空格。

partition

tuple string.partition(sep)

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

参数

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

removeprefix

string string.removeprefix(prefix)

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

参数

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

removesuffix

string string.removesuffix(suffix)

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

参数

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

替换

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

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

参数

参数 说明
old 必需
要替换的字符串。
new 必需
要替换为的字符串。
count 默认值为 -1
替换项的数量上限。如果省略,或值为负数,则表示无限制。

rfind

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

返回找到 sub 的最后一个索引;如果不存在此类索引,则返回 -1,可选择性地限制在 [start:end] 以内,start 包括在内,end 则不包括在内。

参数

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

rindex

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

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

参数

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

rpartition

tuple string.rpartition(sep)

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

参数

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

rsplit

list string.rsplit(sep, maxsplit=None)

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

参数

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

rstrip

string string.rstrip(chars=None)

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

参数

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

分片

list string.split(sep, maxsplit=None)

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

参数

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

splitlines

sequence string.splitlines(keepends=False)

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

参数

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

startswith

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

如果字符串以 sub 开头,则返回 True,否则返回 False,可选择性地限制在 [start:end] 以内,start 包括在内,end 则不包括在内。

参数

参数 说明
sub string;或字符串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
要移除的字符,如果为 None,则所有空格。

标题

string string.title()

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

upper

string string.upper()

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