使用 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 是否以字元 'a' 結尾,可以使用下列的程式碼:

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

你也可以使用 endswith() 函數,判斷字串 text 是否以字串 'orld!' 結尾。例如:

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

注意,在使用 startswith()endswith() 函數時,傳入的字元或字串必須是字串類型。如果傳入的不是字串類型,就會發生錯誤。例如:

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() 函數時,一定要注意傳入的字元或字串是否為字串類型。

另外,startswith()endswith() 函數也可以接受一個 tuple,作為判斷的標準。例如:

text = "Hello, World!"

# 傳入 tuple
result = text.endswith((".txt", ".pdf"))  # False
result = text.endswith(("!","?"))  # True

在這個範例中,我們使用了 endswith() 函數,判斷 text 是否以 “.txt” 或 “.pdf” 結尾,或是以 “!” 或 “?” 結尾。

最後,如果你想要使用 startswith()endswith() 函數,請記得引入 string 模組。例如:

import string

text = "Hello, World!"
result = text.startswith("Hello")  # True
result = text.endswith("World")  # False

現在,我們來看一個實際的範例,看看 startswith()endswith() 函數在實際操作中是如何使用的。

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

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

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

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

在這個範例中,我們使用了 endswith() 函數來判斷文件名是否以 “.txt” 為結尾,使用 startswith() 函數來判斷文件名是否以 “example” 開頭。

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

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

如果你想要檢查字串是否以某個字元或字串結尾或開頭,可以傳入這個字元或字串作為參數。例如:

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

最後,如果你想要使用 startswith()endswith()函數,你可以使用以下程式碼:

text = "Hello, world!"

# 使用 startswith() 函數判斷字串是否以 "Hello" 開始
if text.startswith("Hello"):
    print("字串以 'Hello' 開始")
else:
    print("字串不以 'Hello' 開始")

# 使用 endswith() 函數判斷字串是否以 "world!" 結尾
if text.endswith("world!"):
    print("字串以 'world!' 結尾")
else:
    print("字串不以 'world!' 結尾")

這樣,你就可以使用 startswith()endswith() 函數,輕鬆地判斷字串的開頭和結尾是否符合要求。

在寫文章時,你可以使用 startswith()endswith() 函數,判斷標題或其他文本是否符合要求。例如,你可以使用 startswith() 函數,判斷標題是否以特定的字元或字串開始,或是使用 endswith() 函數,判斷標題是否以特定的字元或字串結尾。這樣,你就可以輕鬆地確保標題的格式和內容符合要求。

當然,你也可以使用 startswith()endswith() 函數,在程式碼中處理文件名或其他字串。例如,你可以使用 endswith() 函數,將所有以 “.txt” 結尾的文件名列出來。你也可以使用其他方法,例如列表推導式,來達到同樣的效果。

import os

# 列出當前目錄下的所有文件
files = os.listdir()

# 遍歷文件,如果文件名以 ".txt" 結尾,就顯示
for file in files:
    if file.endswith(".txt"):
        print(file)

此外,你還可以使用 startswith() 函數,判斷文件名是否以某個字串開頭。例如,你可以使用下列的程式碼,列出所有以 “note” 開頭的文件名:

import os

# 列出當前目錄下的所有文件
files = os.listdir()

# 遍歷文件,如果文件名以 "note" 開頭,就顯示
for file in files:
    if file.startswith("note"):
        print(file)

總之,透過使用 startswith()endswith() 函數,你可以輕鬆地判斷字串的開頭和結尾,為你的程式帶來更多的灵活性和彈性。

Categorized in: