【Python自學】Python常見的字串方法,十個常見的字串方法

Python 的字串方法可以幫助我們整理文字、轉換大小寫、切割資料、替換內容,以及檢查字串是否符合特定條件。

📘 Python 字串方法

簡言之,字串方法就是跟字串有關的方法。更直白一點說,就是可以用來處理字串的工具。

透過字串方法,我們可以整理、轉換、搜尋、切割字串。這些技巧在處理使用者輸入、文字資料、CSV、網址、帳號名稱時都很常見。

如果想探索 Python 還有哪些字串方法,也可以在 Python 裡輸入:

help(str)

Python 會列出字串類別 str 可使用的方法。

🧰 十個常見 Python 字串方法

以下整理 10 個初學 Python 時最常見、也最實用的字串方法與寫法。

1. len():計算字串長度

text = "Hello" print(len(text)) # 5

len() 是英文 length 的縮寫,用來計算字串中有幾個字元。

2. lower():全部變小寫

name = "PYTHON" print(name.lower()) # python

lower() 會把字串中的英文字母全部轉成小寫。

3. upper():全部變大寫

food = "apple" print(food.upper()) # APPLE

upper() 剛好和 lower() 相反,會把英文字母全部轉成大寫。

4. strip():去除前後空白

word = " hi " print(word.strip()) # hi

strip() 會移除字串前後的空白,常用來整理使用者輸入資料。

strip() 只會去除前後空白,不會移除字串中間的空白。
例如 "a b".strip() 結果仍然是 "a b"

5. replace():替換字串

sentence = "我喜歡蘋果" print(sentence.replace("蘋果", "香蕉"))

輸出結果

我喜歡香蕉

replace() 可以把字串中的指定內容替換成另一個內容。

而且預設會替換全部符合的字串。

sentence = "我喜歡蘋果和蘋果" print(sentence.replace("蘋果", "香蕉"))

輸出結果

我喜歡香蕉和香蕉

6. split():切割字串,變成列表

data = "A,B,C" print(data.split(","))

輸出結果

['A', 'B', 'C']

split() 可以依照指定符號切割字串,切割後會得到一個列表 list

這個方法很常用在讀取 CSV,也就是逗號分隔資料。

7. join():用字串把列表黏回字串

items = ["A", "B", "C"] print("-".join(items))

輸出結果

A-B-C

join() 可以把列表中的字串元素,用指定符號連接起來。

split() 是把字串切成列表;join() 則是把列表合回字串。

8. startswith() / endswith():判斷開頭或結尾

url = "https://google.com" print(url.startswith("https")) # True print(url.endswith(".com")) # True

startswith() 可以判斷字串是否以某段文字開頭。

endswith() 可以判斷字串是否以某段文字結尾。

這兩個方法的回傳結果是布林值,也就是 TrueFalse

9. in:判斷是否包含

text = "Hello Python" print("Python" in text) # True

in 不是函式,而是一種判斷寫法,用來檢查某段文字是否存在於字串中。

10. f-string:字串中插入變數

name = "阿元" age = 25 print(f"我是{name},今年{age}歲")

輸出結果

我是阿元,今年25歲

f-string 可以讓我們把變數直接放進字串裡,寫法簡潔又好讀。

f-string 的詳細內容,可以參考這篇:

【Python 自學】格式化字串 f-string 的用法

📋 字串方法速查表

用表格整理上面的內容,可以快速回顧每個方法的用途。

方法 / 寫法 用途 簡單範例
len() 計算字串長度 len("Hi")
lower() 轉成小寫 "PY".lower()
upper() 轉成大寫 "py".upper()
strip() 去除前後空白 " hi ".strip()
replace() 替換字串 "蘋果".replace("蘋果", "香蕉")
split() 切割成列表 "A,B".split(",")
join() 列表合併成字串 "-".join(["A", "B"])
startswith() 判斷開頭 url.startswith("https")
endswith() 判斷結尾 url.endswith(".com")
in 判斷是否包含 "Py" in text
f-string 插入變數 f"Hi {name}"

🧪 簡易使用者名稱合法性檢測程式

接下來寫一段「使用者名稱合法性檢測程式」,來應用前面學到的字串方法。

使用者輸入一段字串,如果符合規則,就輸出「歡迎!使用者名稱」;如果不符合規則,就提示錯誤原因。

檢查規則

  • 規則 1:使用者名稱不得超過 8 個字元。
  • 規則 2:使用者名稱不得包含空格。
  • 規則 3:使用者名稱不得包含底線 _

完整程式碼

name = input("請輸入使用者名稱:") # 1. 長度檢查 if len(name) > 8: print("使用者名稱不可超過 8 個字元") # 2. 不可包含空格 elif " " in name: print("使用者名稱不可包含空格") # 3. 不可包含底線 _ elif "_" in name: print("使用者名稱不可包含「_」") # 全部都通過 else: print(f"歡迎!{name}")

這段程式會依照條件由上往下檢查。

  • 先用 len(name) 檢查長度。
  • 再用 " " in name 檢查是否包含空格。
  • 再用 "_" in name 檢查是否包含底線。
  • 如果全部都沒有問題,就用 f-string 印出歡迎訊息。

程式執行結果

輸入 結果 原因
abcdefg ✅ 歡迎!abcdefg 符合所有規則。
abcdefghij ❌ 使用者名稱不可超過 8 個字元 超過 8 字元。
ab cdef ❌ 使用者名稱不可包含空格 含有空格。
abc_def ❌ 使用者名稱不可包含「_」 含有底線。
阿元123 ✅ 歡迎!阿元123 符合所有規則。
這個小程式其實就是把每一條規則轉成條件判斷,再用 if / elif / else 依序檢查。

🔎 程式邏輯拆解

這段使用者名稱檢查程式主要用到三個觀念。

1. 使用 len() 檢查長度

if len(name) > 8: print("使用者名稱不可超過 8 個字元")

len(name) 會取得使用者名稱的字元數。如果超過 8,就印出錯誤訊息。

2. 使用 in 檢查是否包含空格

elif " " in name: print("使用者名稱不可包含空格")

" " in name 會檢查使用者名稱中是否包含空白字元。

3. 使用 in 檢查是否包含底線

elif "_" in name: print("使用者名稱不可包含「_」")

"_" in name 會檢查使用者名稱中是否包含底線。

4. 使用 f-string 輸出歡迎訊息

else: print(f"歡迎!{name}")

如果前面的條件都沒有成立,就代表使用者名稱符合規則,最後使用 f-string 把使用者名稱放進輸出文字中。

✅ 小結

Python 的字串方法非常實用,能幫助我們整理、判斷與轉換文字資料。這些方法看起來簡單,但在實務中非常常見。

  • len():計算字串長度。
  • lower() / upper():轉換英文大小寫。
  • strip():去除前後空白。
  • replace():替換指定文字。
  • split():把字串切成列表。
  • join():把列表合併成字串。
  • startswith() / endswith():判斷開頭或結尾。
  • in:判斷字串是否包含某段文字。
  • f-string:把變數放進字串中。
字串方法 → 整理文字 → 檢查內容 → 轉換格式 → 輸出結果
最後用一句話記住:
字串方法就是 Python 幫我們整理文字資料的一整套工具箱。

留言

這個網誌中的熱門文章

麻將新手必看!不知道聽什麼牌怎麼辦?超多種實戰聽牌範例,教你怎麼判斷胡牌機會

麻將教學懶人包|從規則到牌理的完整觀念整理(附實戰心得)

【新訓入伍】義務役新兵必看!入伍報到必備清單整理|2026年更新