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"]不得使用隱式串連字串,請改用
+
運算子。比較運算子可進行詞形比較,使用 ==
來測試相等性。
成員
- 大寫
- count
- elems
- endswith
- 尋找
- format
- 索引
- isalnum
- isalpha
- is 位數
- islower
- isspace
- istitle
- isupper
- join
- 較低
- lstrip
- partition
- removeprefix
- 移除後置字串
- 取代
- rfind
- rindex
- rpartition
- rSplit
- rstrip
- Split
- 分割線
- startswith
- 條紋
- title
- upper
大寫字母
string string.capitalize()傳回字串的副本,其中包含第一個字元 (如有) 大寫,其餘部分則使用小寫。這個方法不支援非 ASCII 字元。
數量
int string.count(sub, start=0, end=None)傳回字串中子字串
sub
出現的次數 (非重疊) 次數,可選擇限制為 [start:end]
、start
含首尾,且 end
不包含。
參數
參數 | 說明 |
---|---|
sub
|
必要 要計算的子字串。 |
start
|
int; or None ;
預設值 = 0限制只從這個位置進行搜尋。 |
end
|
int; or None ;
default = None指定搜尋範圍的選用位置。 |
象牙
sequence string.elems()傳回可疊代值,包含字串的連續 1 個元素子字串。等同於
[s[i] for i in range(len(s))]
,但傳回的值可能不會是清單。結尾為
bool string.endswith(sub, start=0, end=None)如果字串結尾是
sub
,則傳回 True,否則傳回 True,否則可選擇限制為 [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 ;
預設值 = 0限制只從這個位置進行搜尋。 |
end
|
int; or None ;
default = 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
|
必填 要尋找的子字串。 |
start
|
int; or None ;
預設值 = 0限制只從這個位置進行搜尋。 |
end
|
int; or None ;
default = None指定搜尋範圍的選用位置。 |
伊斯蘭曆
bool string.isalnum()如果字串中的所有字元都是英數字元 ([a-zA-Z0-9]),且至少有一個字元,則傳回 True。
是 Alpha 版
bool string.isalpha()如果字串中的所有字元都是字母 ([a-zA-Z]),且至少有一個字元,則傳回 True。
數字
bool string.isdigit()如果字串中的所有字元都是數字 ([0-9]),且至少有一個字元,則傳回 True。
較慢
bool string.islower()如果字串中的所有大寫字元皆為小寫,且至少有一個字元至少有一個字元,則傳回 True。
太空
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
|
必要 要彙整的物件。 |
低
string string.lower()傳回此字串的小寫版本。
條紋
string string.lstrip(chars=None)傳回移除
chars
中前置字元的字串副本。請注意,chars
不是前置字串,而是移除其值的所有組合:"abcba".lstrip("ba") == "cba"
參數
參數 | 說明 |
---|---|
chars
|
string; or None ;
default = None要移除的字元,如果「無」代表所有空白字元。 |
分區
tuple string.partition(sep)在分隔符
sep
的第一個出現時分割輸入字串,並以表單的三元素元組 (之前、分隔符、之後) 的形式傳回產生的分區。如果輸入字串不含分隔符,分區會傳回 (本身、'、'')。
參數
參數 | 說明 |
---|---|
sep
|
必要 要分割的字串。 |
移除前置字元
string string.removeprefix(prefix)如果字串開頭為
prefix
,系統會傳回已移除前置字元的新字串。否則,系統會傳回該字串。
參數
參數 | 說明 |
---|---|
prefix
|
必要 要移除的前置字串 (如有)。 |
移除後置字串
string string.removesuffix(suffix)如果字串結尾是
suffix
,系統會傳回已移除後置字串的新字串。否則,系統會傳回該字串。
參數
參數 | 說明 |
---|---|
suffix
|
必要 要移除的後置字串 (如有)。 |
取代
string string.replace(old, new, count=-1)傳回字串的副本,其中顯示的
old
已替換為 new
,選擇性地將取代次數限制為 maxsplit
。
參數
參數 | 說明 |
---|---|
old
|
必要 要替換的字串。 |
new
|
必要 要替換的字串。 |
count
|
預設 = -1 取代項目數量上限。如果省略此值或是為負數,表示沒有限制。 |
尋找碼頭
int string.rfind(sub, start=0, end=None)傳回找到
sub
的最後一個索引;如果沒有這類索引,則傳回 -1;如果不存在,則為 -1;可選擇將限制於 [start:end]
、start
包含在內,end
則不含。
參數
參數 | 說明 |
---|---|
sub
|
必填 要尋找的子字串。 |
start
|
int; or None ;
預設值 = 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 ;
預設值 = 0限制只從這個位置進行搜尋。 |
end
|
int; or None ;
default = None指定搜尋範圍的選用位置。 |
重新分區
tuple string.rpartition(sep)分割分隔符
sep
最後一個出現時的輸入字串,並以表單的三元素元組 (之前、分隔符、之後) 傳回產生的分區。如果輸入字串不包含分隔符,rpartition 會傳回 (「', '', 」)。
參數
參數 | 說明 |
---|---|
sep
|
必要 要分割的字串。 |
塊狀
list string.rsplit(sep, maxsplit=None)傳回字串中所有字詞的清單,使用
sep
做為分隔符,並視需要將分割次數限制為 maxsplit
。除了從右側分割以外,此方法的行為類似 split()。參數
參數 | 說明 |
---|---|
sep
|
必要 要分割的字串。 |
maxsplit
|
int; or None ;預設值 = 無分割作業數量上限。 |
條紋
string string.rstrip(chars=None)傳回移除
chars
中的結尾字元的字串副本。請注意,chars
不是後置字串,而是會移除其值的所有組合:"abcbaa".rstrip("ab") == "abc"
參數
參數 | 說明 |
---|---|
chars
|
string; or None ;
default = None要移除的字元,如果「無」代表所有空白字元。 |
split
list string.split(sep, maxsplit=None)傳回字串中所有字詞的清單,使用
sep
做為分隔符,並視需要將分割次數限制為 maxsplit
。
參數
參數 | 說明 |
---|---|
sep
|
必要 要分割的字串。 |
maxsplit
|
int; or None ;預設值 = 無分割作業數量上限。 |
分割線
sequence string.splitlines(keepends=False)將字串分到線條邊界 ('\n'、'\r\n'、'\r') 並傳回結果,做為新的可變動清單。
參數
參數 | 說明 |
---|---|
keepends
|
default = False 是否要在產生的清單中加入換行符號。 |
startswith
bool string.startswith(sub, start=0, end=None)如果字串以
sub
開頭,則傳回 True,否則傳回 True,否則可選擇限制為 [start:end]
、start
含頭尾和 end
。
參數
參數 | 說明 |
---|---|
sub
|
string; or tuple of strings ;必要要比對的前置字串 (或替代前置字串的組合)。 |
start
|
int; or None ;預設值 = 0從這個位置開始測試。 |
end
|
int; or None ;
default = None停止在這個位置比較。 |
長條
string string.strip(chars=None)傳回移除
chars
中開頭或結尾字元的字串副本。請注意,chars
既不是前置字元,也不是後置字串:系統會移除其值的所有組合:"aabcbcbaa".strip("ab") == "cbc"
參數
參數 | 說明 |
---|---|
chars
|
string; or None ;
default = None要移除的字元,如果「無」代表所有空白字元。 |
title
string string.title()將輸入字串轉換成首字母大寫格式,也就是每個字的開頭都是大寫英文字母,其餘的字母都是小寫。在這裡,字詞是指明確的字母序列。此方法不支援補充的萬國碼 (Unicode) 字元。
較高
string string.upper()傳回此字串的大寫版本。