“`html

使用 Python String 字串的 startswith() 和 endswith() 語法

在 Python 中,我們可以使用 startswith()endswith() 函數來判斷字串是否以特定的字元開頭或結尾。這兩個函數非常簡單易用,適合用於處理字串的基本需求。

使用 startswith() 函數判斷字串是否以特定字元開頭

使用 startswith() 函數時,我們需要傳入一個字元或字串作為判斷的標準。如果字串以傳入的字元或字串開頭,則會傳回 True;否則返回 False。以下是一些使用範例:

text = "Hello, World!"
result = text.startswith("H")
print(result)  # 顯示:True

result = text.startswith("h")
print(result)  # 顯示:False

result = text.startswith("Hello")
print(result)  # 顯示:True

注意: startswith() 函數是大小寫敏感的,因此在進行比較時必須注意大小寫。

使用 endswith() 函數判斷字串是否以特定字元結尾

使用 endswith() 函數時,亦需傳入一個字元或字串作為判斷的標準。如果字串 text 以傳入的字元或字串結尾,則 endswith() 函數會傳回 True,否則返回 False。例如,以下代碼用來判斷字串的結尾:

text = "Hello, World!"
result = text.endswith('a')
print(result)  # 顯示:False

result = text.endswith('orld!')
print(result)  # 顯示:True

在這裡,我們也可以使用 endswith() 函數來判斷字串是否以多個字串結尾,透過傳入一個 tuple 來實現:

text = "Hello, World!"
result = text.endswith((".txt", ".pdf"))  # False
result = text.endswith(("!", "?"))  # True

處理錯誤與注意事項

在使用這兩個函數時,如果傳入的參數不是字串類型,將會引發錯誤。例如:

text = "Hello, World!"

# 傳入數字
result = text.endswith(123)  # TypeError: endswith first arg must be str or a tuple of str, not int

# 傳入布林值
result = text.startswith(True)  # TypeError: startswith first arg must be str or a tuple of str, not bool

因此,確保傳入的參數為字串類型,這樣可以避免不必要的錯誤。

進階應用範例

以下是一個實際的範例,展示如何有效使用 startswith()endswith() 函數:

# 判斷文件名是否以 ".txt" 為結尾
filename = "example.txt"
result = filename.endswith(".txt")  # result 為 True

# 判斷文件名是否以 "example" 開頭
result = filename.startswith("example")  # result 為 True

# 判斷文件名是否以 "EXAMPLE" 開頭
result = filename.startswith("EXAMPLE")  # result 為 False

在這個範例中,我們用 endswith() 函數來檢查文件名的結尾,並確認它是否是以 “.txt” 為結尾。

小結

startswith()endswith() 函數的參數是可選的,如果不傳入參數,預設會檢查字串是否以空白字元結尾或開頭。以下是範例:

text = "   Hello, World!   "
result = text.startswith()  # 返回 True,因為字串以空白字元開頭
result = text.endswith()  # 返回 True,因為字串以空白字元結尾

這些簡單而靈活的功能可以幫助你在程式開發中更有效率地處理字串。若想了解更多 Python 的字串方法,請參考 [這裡](https://vocus.cc/article/5f5d2728fd89780001e1c4eb) 的相關教學。

Q&A(常見問題解答)

1. startswith() 和 endswith() 可以接受哪些類型的參數?

這兩個函數主要接受字串類型的參數,並且也可以接受一個字串的 tuple 來進行多個字串的判斷。

2. 如果我傳入的參數不是字串會怎樣?

如果傳入的參數不是字串,將會引發 TypeError 錯誤,提示你必須傳入字串類型的參數。

3. 我可以在列表中使用 startswith() 和 endswith() 嗎?

是的,你可以使用列表推導式來過濾符合條件的字串,例如篩選出所有以特定字串開頭或結尾的文件名。

“`

Categorized in: