支援字串的語言內建類型。字串常值範例:
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
- find
- 格式
- index
- isalnum
- isalpha
- isdigit
- islower
- isspace
- istitle
- isupper
- join
- lower
- lstrip
- partition
- removeprefix
- removesuffix
- replace
- rfind
- rindex
- rpartition
- rsplit
- rstrip
- split
- splitlines
- startswith
- strip
- title
- upper
大寫字母
string string.capitalize()
數量
int string.count(sub, start=0, end=None)
sub
出現的次數 (不重疊),可選擇限制為 [start:end]
、start
(包含) 和 end
(不包含)。
參數
參數 | 說明 |
---|---|
sub
|
必填 要計數的子字串。 |
start
|
int 或 None ;
預設為 0 限制從這個位置搜尋。 |
end
|
int 或 None ;預設為 None 。 可選位置,用於限制搜尋。 |
elems
sequence string.elems()
[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
|
字串;或字串的元組;
必要 要比對的字尾 (或替代字尾的元組)。 |
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 。 可選位置,用於限制搜尋。 |
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
|
required 要尋找的子字串。 |
start
|
int 或 None ;
預設為 0 限制從這個位置搜尋。 |
end
|
int 或 None ;預設為 None 。 可選位置,用於限制搜尋。 |
isalnum
bool string.isalnum()
isalpha
bool string.isalpha()
isdigit
bool string.isdigit()
islower
bool string.islower()
isspace
bool string.isspace()
istitle
bool string.istitle()
isupper
bool string.isupper()
彙整
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
|
字串或 None ;預設為 None 。 移除的字元,如果為 None,則會移除所有空格。 |
分區
tuple string.partition(sep)
sep
時,將輸入字串分割,並以 (前面、分隔符、後面) 的形式傳回三個元素的元組。如果輸入字串不含分隔符,則會傳回 (self, '', '')。
參數
參數 | 說明 |
---|---|
sep
|
required 要分割的字串。 |
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
|
required 要替換的字串。 |
new
|
required 要替換的字串。 |
count
|
預設為 -1 Replacement 的上限數量。如果省略或值為負數,則沒有限制。 |
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
處,將輸入字串分割,並以 (前面、分隔符、後面) 的形式,將結果分割區傳回為三個元素的元組。如果輸入字串不含分隔符,rpartition 會傳回 ('', '', self)。
參數
參數 | 說明 |
---|---|
sep
|
required 要分割的字串。 |
rsplit
list string.rsplit(sep, maxsplit=None)
sep
做為分隔符,可選擇將分割次數限制為 maxsplit
。除了從右側分割之外,這個方法的運作方式與 split() 相同。
參數
參數 | 說明 |
---|---|
sep
|
required 要分割的字串。 |
maxsplit
|
int 或 None ;預設值為 None 。 分割的最大數量。 |
rstrip
string string.rstrip(chars=None)
chars
中出現的尾隨字元。請注意,chars
並非後置字串:系統會移除其值的所有組合:"abcbaa".rstrip("ab") == "abc"
參數
參數 | 說明 |
---|---|
chars
|
字串或 None ;預設為 None 。 移除的字元,如果為 None,則會移除所有空格。 |
斯普利特
list string.split(sep, maxsplit=None)
sep
做為分隔符,可選擇將分割次數限制為 maxsplit
。
參數
參數 | 說明 |
---|---|
sep
|
required 要分割的字串。 |
maxsplit
|
int 或 None ;預設值為 None 。 分割的最大數量。 |
splitlines
sequence string.splitlines(keepends=False)
參數
參數 | 說明 |
---|---|
keepends
|
預設值為 False 是否應在產生的清單中加入換行符號。 |
startswith
bool string.startswith(sub, start=0, end=None)
sub
,則傳回 True,否則傳回 False,可選擇限制為 [start:end]
,start
為包含,end
為排除。
參數
參數 | 說明 |
---|---|
sub
|
字串;或字串的元組;
必要 要比對的前置字串 (或其他前置字串的元組)。 |
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()
較高
string string.upper()