在 Python 中去除多個字元
-
使用
str.replace()
去除 Python 字串中的多個字元 -
使用
re.sub()
函式去除 Python 字串中的多個字元 -
使用
string.translate()
方法去除 Python 字串中的多個字元
剝離字串物件中的字元是程式設計師必須知道的一項重要任務。剝離意味著你應該能夠從任何位置刪除字元。
在開始剝離之前,你必須記住 Python 字串物件是不可變的。因此,它們不能被修改。因此,我們將在每個示例中將剝離的字串儲存在一個新字串中。
在本教程中,我們將研究從 Python 中的任何位置剝離多個字元的幾種方法和示例。
使用 str.replace()
去除 Python 字串中的多個字元
str.replace()
方法提供了剝離功能。讓我們先看一下程式碼及其輸出:
original_string = "!(Hell0o)"
characters_to_remove = "!()0"
new_string = original_string
for character in characters_to_remove:
new_string = new_string.replace(character, "")
print(new_string)
輸出:
Hello
你將要做的是建立一個要從字串中刪除的字串。
現在,將原始字串分配給新字串以保持原始字串不變。
接下來,你將使用 for
迴圈通過源字串來查詢文獻。在迴圈內部,你將檢查要刪除的字元,並使用 str.replace()
方法將它們替換為不帶空格的字元。然後,你將獲得所需的輸出。
該函式的語法如下。
string.replace(old_character, new_character, count)
字串是要從中刪除字元的字串。
第一個引數 old character
表示你要替換的字元。
new character
引數是你要替換的字元。
第三個引數 count
是一個可選引數,表示你希望替換的那個字元的出現次數。如果傳遞 2,該函式將替換該字元的兩次出現。
使用 re.sub()
函式去除 Python 字串中的多個字元
這是在 Python 中從字串中去除字元的另一種常用方法。此函式是 re 模組的一部分,它由你可以使用的正規表示式或正規表示式操作組成。
對於這個函式,讓我們考慮一個不同的例子:
import re
original_string = "!(pyth000on)"
characters_to_remove = "!()0"
pattern = "[" + characters_to_remove + "]"
new_string = re.sub(pattern, "", original_string)
print(new_string)
輸出:
python
在這裡,我們定義了一個字串,該字串由我們要從源字串中刪除的字元組成。然後我們使用了 re.sub()
函式,它接受三個引數:正規表示式模式、要替換它的字串和源字串。
從輸出中,我們可以看到它已經刪除了字元。我們也可以嘗試更長的句子。例如。
import re
original_string = "!(pyth000on is mYy pro0gra@mm!ing langu@age3)"
characters_to_remove = "!()0Y@!3"
pattern = "[" + characters_to_remove + "]"
new_string = re.sub(pattern, "", original_string)
print(new_string)
輸出:
python is my programming language
使用 string.translate()
方法去除 Python 字串中的多個字元
你還可以使用 string.translate()
方法從 Python 字串中刪除特定數量的字元。該函式的語法如下。
string.translate(table)
這個函式接受一個引數,table
。該表可以是描述要替換的字元的字典或對映表。你可以為 x 和 y 分配空值以去除字元。
例如:
s = "Python Programming"
x = "P"
y = "B"
table = s.maketrans(x, y)
print(s.translate(table))
輸出:
BythonBrogramming
總之,在 Python 中有三種常用方法可以從字串物件中去除字元。在這三個中,使用 replace()
方法進行剝離比其他方法容易得多,因為它更易於理解和使用。