支援字串的內建類型。字串常值範例:
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
- count
- elems
- endswith
- 尋找
- 格式
- index
- isalnum
- isalpha
- isdigit
- 花粉
- isspace
- istitle
- isupper
- 加入
- lower
- 羊皮紙
- 分區
- 移除前置字元
- removesuffix
- rfind
- rindex
- 分區
- rsplit
- rstrip
- 分割
- 分行符號
- 開頭為
- 條紋
- 名稱
- upper
大寫字母
string string.capitalize()傳回字串副本,其第一個字元 (如有) 是大寫和其餘小寫。此方法不支援非 ASCII 字元。
數量
int string.count(sub, start=0, end=None)傳回字串中子字串
sub
的出現 (非重疊) 次數,可選擇限制為 [start:end]
,start
表示包含在內,end
則不包含。
參數
參數 | 說明 |
---|---|
sub
|
string;
必要 要計算的子字串。 |
start
|
int;或 None ;
預設值為 0 限制搜尋這個位置。 |
end
|
int;或 None ;
預設值為 None (可限定搜尋的範圍)。 |
Elms
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
|
string;
必要 要尋找的子字串。 |
start
|
int;或 None ;
預設值為 0 限制搜尋這個位置。 |
end
|
int 或 None ;預設為 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
|
預設值為 () 引數清單。 |
kwargs
|
預設值為 {} 引數字典。 |
索引
int string.index(sub, start=0, end=None)傳回找到
sub
的第一個索引,如果沒有這類索引,就會引發錯誤,或者是選擇將 [start:end]
start
限制為包含成包含且 end
排除。
參數
參數 | 說明 |
---|---|
sub
|
string;
必要 要尋找的子字串。 |
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。
數字
bool string.isdigit()如果字串中的所有字元都是數字 ([0-9]),且至少有一個字元,則傳回 True。
偏離
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()傳回此字串的小寫版本。
垃圾清單
string string.lstrip(chars=None)傳回移除
chars
中的前置字元的字串副本。請注意,chars
不是前置字元:系統會移除其值的所有組合:"abcba".lstrip("ba") == "cba"
參數
參數 | 說明 |
---|---|
chars
|
字串或 None ;預設為 None 。 移除的字元,如果為 None,則會移除所有空格。 |
分區
tuple string.partition(sep)在分隔符
sep
的第一個出現時分割輸入字串,並將產生的分區傳回為表單的三元素元組 (之前、分隔符、之後)。如果輸入字串不含分隔符,則會傳回 (self, '', '')。
參數
參數 | 說明 |
---|---|
sep
|
字串;
必填 要分割的字串。 |
removeprefix
string string.removeprefix(prefix)如果字串開頭為
prefix
,則會傳回移除前置字元的新字串。否則,則會傳回字串。
參數
參數 | 說明 |
---|---|
prefix
|
string;
必要 要移除的前置字串 (如果有的話)。 |
removesuffix
string string.removesuffix(suffix)如果字串結尾為
suffix
,則傳回已移除尾碼的新字串。否則,則會傳回字串。
參數
參數 | 說明 |
---|---|
suffix
|
string;
必要 要移除的後置字串 (如有)。 |
取代
string string.replace(old, new, count=-1)傳回字串副本,其中出現
old
被取代為 new
,並視需要將取代次數限制為 count
。
參數
參數 | 說明 |
---|---|
old
|
string;
必填 要替換的字串。 |
new
|
string;
required 要取代的字串。 |
count
|
int;
預設值為 -1 替換項目數量上限。如果省略此值或為負數,表示沒有限制。 |
rfind
int string.rfind(sub, start=0, end=None)傳回找到
sub
的最後一個索引,如果沒有這類索引,則傳回 -1,並視需要限制為 [start:end]
,start
表示包含且 end
排除。
參數
參數 | 說明 |
---|---|
sub
|
string;
必要 要尋找的子字串。 |
start
|
int;或 None ;
預設值為 0 限制搜尋這個位置。 |
end
|
int 或 None ;預設為 None 。 可選位置,用於限制搜尋。 |
rindex
int string.rindex(sub, start=0, end=None)傳回找到
sub
的最後一個索引,如果沒有這類索引,就會引發錯誤,可選擇限制為 [start:end]
,start
表示包含且 end
排除。
參數
參數 | 說明 |
---|---|
sub
|
string;
必要 要尋找的子字串。 |
start
|
int 或 None ;
預設為 0 僅搜尋這個位置。 |
end
|
int;或 None ;
預設值為 None (可限定搜尋的範圍)。 |
rpartition
tuple string.rpartition(sep)在上次出現的分隔符
sep
處,將輸入字串分割,並以 (前面、分隔符、後面) 的形式,將結果分割區傳回為三個元素的元組。如果輸入字串不含分隔符,則可傳回 '', '', 。
參數
參數 | 說明 |
---|---|
sep
|
字串;
必填 要分割的字串。 |
rsplit
list string.rsplit(sep, maxsplit=None)傳回字串中所有字詞的清單,使用
sep
做為分隔符,並視需要將分割次數限制為 maxsplit
。除了從右側分割外,此方法的運作方式會與 Split() 一樣。
參數
參數 | 說明 |
---|---|
sep
|
字串;
必填 要分割的字串。 |
maxsplit
|
int 或 None ;預設值為 None 。 分割的最大數量。 |
Rrtrip
string string.rstrip(chars=None)傳回字串的副本,其中會移除
chars
中出現的尾隨字元。請注意,chars
並非後置字串,其值的所有組合都會遭到移除:"abcbaa".rstrip("ab") == "abc"
參數
參數 | 說明 |
---|---|
chars
|
字串或 None ;預設為 None 。 移除的字元,如果為 None,則會移除所有空格。 |
斯普利特
list string.split(sep, maxsplit=None)傳回字串中所有字詞的清單,並使用
sep
做為分隔符,可選擇將分割次數限制為 maxsplit
。
參數
參數 | 說明 |
---|---|
sep
|
string;
必要 要分割的字串。 |
maxsplit
|
int;或 None ;
預設值為 None 分割數量上限。 |
splitlines
sequence string.splitlines(keepends=False)會在行結尾處 ('\n'、'\r\n'、'\r') 分割字串,並將結果傳回為可變動的清單。
參數
參數 | 說明 |
---|---|
keepends
|
bool;
預設值為 False 是否應在產生的清單中加入換行符號。 |
開頭是
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 請停止比較這個位置。 |
條
string string.strip(chars=None)傳回字串的副本,其中會移除
chars
中出現的前置或尾隨字元。請注意,chars
既不是前置字元,也不是後置字串,其值的所有組合將遭到移除:"aabcbcbaa".strip("ab") == "cbc"
參數
參數 | 說明 |
---|---|
chars
|
字串或 None ;預設為 None 。 移除的字元,如果為 None,則會移除所有空格。 |
title
string string.title()將輸入的字串轉換為詞首大寫,也就是每個字詞開頭為大寫字母,其餘字母則為小寫。在這個脈絡中,字詞是指字母序列。此方法不支援補充 Unicode 字元。
較高
string string.upper()傳回此字串的大寫版本。