問題
要從Python 中的字串中刪除特定字符,常見的方法有:方法是循環遍歷字串,識別並刪除不需要的字符。然而,這種方法的實作通常無法修改字串。
答案
理解 Python 中字串的不變性至關重要。字串是不可變的,這意味著它們不能直接修改。任何更改字串中字元的嘗試都會導致建立新字串。
要正確刪除特定字符,請將修改後的字串分配回原始變數。以下是範例:
line = "Hello, world!" for char in " ?.!/;:": line = line.replace(char, "") # Create a new string with the character removed print(line) # Output: "Hello,world"
或者,您可以使用內建的str.translate 函數:
line = "Hello, world!" line = line.translate(None, "!@#$") # Remove characters from "!@#$" print(line) # Output: "Hello, world"
或使用re.sub 進行正規表示式取代:
import re line = "Hello, world!" line = re.sub('[!@#$]', '', line) # Replace characters in `[]` with an empty string print(line) # Output: "Hello, world"
在Python 3中,對於Unicode字串:
unicode_line = "Hello, world!" translation_table = {ord(c): None for c in "!@#$"} unicode_line = unicode_line.translate(translation_table) # Delete characters with None mapping print(unicode_line) # Output: "Hello, world"
透過理解字串的不變性,您可以在Python中有效地刪除特定字元並有效率地操作字串。
以上是如何在Python中高效率地刪除字串中的特定字元?的詳細內容。更多資訊請關注PHP中文網其他相關文章!