如何在 Python 中替換字串中的字符
了解如何替換 Python 字串中的字元或子字串。掌握replace()方法、計數限制以及對多個字元使用翻譯。
概述
字串操作是解析輸入、呈現範本、清理資料和產生輸出文字的核心。在 Python 中,修改文字區塊內的特定字元或子字串非常簡單,但需要了解字串的基本屬性:不變性。
由於 Python 字串是不可變的,因此您無法就地修改它們的字元(例如,寫入 `text[0] = "A"` 會引發 `TypeError`)。相反,任何更改字串的操作都必須建立並傳回一個全新的字串。主要工具是內建的“.replace()”方法。
`.replace(old, new)` 方法在字串中搜尋所有出現的指定子字串,並將其替換為新的子字串。您也可以指定可選的第三個參數“count”,它限制從左到右執行的替換次數。對於更複雜的多字元替換,您可以使用“.translate()”方法或帶有“re.sub()”函數的正規表示式。
程式碼和執行輸出
該腳本演示了透過使用replace() 方法替換子字串和字元來修改字串。
replace_chars.py
在編輯器中嘗試text = "banana apple banana cherry"
# 1. Replace all occurrences of a word
replaced_all = text.replace("banana", "orange")
print("Replaced all:", replaced_all)
# 2. Replace with a count limit (only first occurrence)
replaced_limit = text.replace("banana", "orange", 1)
print("Replaced limit:", replaced_limit)
# 3. Replace individual characters (immutability demonstration)
phrase = "pyth0n"
corrected = phrase.replace("0", "o")
print("Corrected string:", corrected)端子輸出
Replaced all: orange apple orange cherry
Replaced limit: orange apple banana cherry
Corrected string: python逐步實施
- 對目標字串呼叫 .replace() 方法。
- 將目標子字串作為第一個參數傳遞,並將替換作為第二個參數傳遞。
- 如果要限制替換次數,請使用 count 參數。
常見問題解答
如何就地替換字串中的字元?
你不能,因為 Python 字串是不可變的。您必須將 .replace() 方法的結果指派回字串變數:text = text.replace(...)。
Replace() 區分大小寫嗎?
是的,.replace() 嚴格區分大小寫。要執行不區分大小寫的替換,必須將正規表示式與 re 模組和 re.IGNORECASE 結合使用。
相關主題
推薦的 Python 資源
透過相關的互動式教學、備忘單和程式碼比較來擴展您的知識。