字符串

报告问题 查看源代码

一种支持字符串的内置语言类型。字符串字面量示例:
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 字符。

count

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

返回字符串中子字符串 sub 的出现次数(不重叠)次数,您可以选择将范围限定为 [start:end],包含 start,但排除 end

参数

参数 说明
sub 必需
要统计的子字符串。
start int; or None; default = 0
从该位置限制搜索。
end int; or None; default = 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; or tuple of strings;必需
要匹配的后缀(或不同后缀的元组)。
start int; or None;默认值为 0
从此位置开始测试。
end int; or None; default = None
停止比较的可选位置。

查找

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

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

参数

参数 说明
sub 必需
要查找的子字符串。
start int; or None; default = 0
从该位置限制搜索。
end int; or None; default = 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 default = ()
参数列表。
kwargs default = {}
参数字典。

index

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

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

参数

参数 说明
sub 必需
要查找的子字符串。
start int; or None; default = 0
从该位置限制搜索。
end int; or None; default = 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 必需
要联接的对象。

3 年

string string.lower()

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

lstrip

string string.lstrip(chars=None)

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

参数

参数 说明
chars string; or None; default = 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 default = -1
替换次数上限。如果省略或该值为负,则无限制。

rfind

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

返回上次找到 sub 时的索引,如果不存在这种索引,则返回 -1,可以选择将范围限定为 [start:end]start 包含边界值,end 不含边界值。

参数

参数 说明
sub 必需
要查找的子字符串。
start int; or None; default = 0
从该位置限制搜索。
end int; or None; default = None
在此之前是搜索的可选位置。

rindex

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

返回上次找到 sub 的索引,如果不存在此类索引,则返回错误,可以选择将限制范围限定为 [start:end]start 包含边界值,end 不包含边界值。

参数

参数 说明
sub 必需
要查找的子字符串。
start int; or None; default = 0
从该位置限制搜索。
end int; or None; default = None
在此之前是搜索的可选位置。

rpartition

tuple string.rpartition(sep)

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

参数

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

rsplit

list string.rsplit(sep, maxsplit=None)

返回字符串中所有字词的列表,使用 sep 作为分隔符,并视需要将拆分次数限制为 maxsplit 个。除了从右侧拆分外,此方法的行为类似于 Split()。

参数

参数 说明
sep 必需
要拆分的字符串。
maxsplit int; or None; default = None
分屏数上限。

rstrip

string string.rstrip(chars=None)

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

参数

参数 说明
chars string; or None; default = None
要移除的字符,如果无,则移除所有空格。

分片

list string.split(sep, maxsplit=None)

返回字符串中所有字词的列表,使用 sep 作为分隔符,并视需要将拆分次数限制为 maxsplit

参数

参数 说明
sep 必需
要拆分的字符串。
maxsplit int; or None; default = None
分屏数上限。

splitlines

sequence string.splitlines(keepends=False)

按行边界(“\n”“了解\n”“点击率”)拆分字符串,并将结果作为新的可变列表返回。

参数

参数 说明
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; default = None
在此位置停止比较。

strip

string string.strip(chars=None)

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

参数

参数 说明
chars string; or None; default = None
要移除的字符,如果无,则移除所有空格。

标题

string string.title()

将输入字符串转换为标题大小写,即每个单词都以大写字母开头,其余字母为小写字母。这里的“字词”就是指严格意义上的一系列字母。此方法不支持 Unicode 补充字符。

upper

string string.upper()

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