如何在 Python 中從字串中刪除特定字元?


這裡,我們將考慮一些程式碼示例,以在 Python 中從字串中刪除特定字元。

使用 str.replace()

在這種方法中,我們將使用 str.replace() 方法將特定字元替換為空字串。

示例

我們定義一個名為 my_string 的字串,其中包含我們要修改的原始字串。

我們使用 str.replace() 方法將字元“o”的所有出現都替換為空字串,從而有效地將其從字串中刪除。

我們將結果字串儲存在一個名為 result 的新變數中。

我們列印結果字串。

# define the string
my_string = "Lorem Ipsum!"
# remove the 'o' characters
result = my_string.replace('o', '')
# print the result
print(result)

輸出

Lrem Ipsum!

使用迴圈

在這種方法中,我們將使用迴圈迭代字串中的每個字元,並且僅新增不是我們要刪除的特定字元的字元。

示例

我們定義一個名為 my_string 的字串,其中包含我們要修改的原始字串。

我們定義一個名為 chars_to_remove 的列表,其中包含我們要從字串中刪除的特定字元。

我們初始化一個名為 result 的空字串,以儲存修改後的字串。

我們使用 for 迴圈迭代字串中的每個字元。

對於每個字元,我們檢查它是否不在 chars_to_remove 列表中。

如果字元不在列表中,我們將其新增到 result 字串中。

最後,我們列印結果字串。

# define the string
my_string = "Lorem Ipsum!"

# define the characters we want to remove
chars_to_remove = ['o', 'p']

# initialize an empty string to store the result
result = ''

# iterate over each character in the string
for char in my_string:
    # check if the character is not in the chars_to_remove list
    if char not in chars_to_remove:
        # add the character to the result string
        result += char

# print the result
print(result)

輸出

Lrem Isum!

使用 str.translate()

在這種方法中,我們將使用 str.translate() 方法使用轉換表刪除特定字元。

示例

我們定義一個名為 my_string 的字串,其中包含我們要修改的原始字串。

我們定義一個名為 chars_to_remove 的列表,其中包含我們要從字串中刪除的特定字元。

我們使用 str.maketrans() 方法定義一個轉換表,它接受三個引數

一個空字串,指定我們想要替換字元而不是轉換它們。

一個空字串,表示我們不想用任何東西替換任何字元。

一個包含我們要刪除的所有字元的字串,使用 join() 方法連線在一起。

我們使用 str.translate() 方法使用轉換表從字串中刪除特定字元。

最後,我們列印結果字串。

# define the string
my_string = "Lorem Ipsum!"

# define the characters we want to remove
chars_to_remove = ['o', 'p']

# define a translation table that maps each character to None
translation_table = str.maketrans('', '', ''.join(chars_to_remove))

# use str.translate() to remove the specific characters

result = my_string.translate(translation_table)

# print the result
print(result)

輸出

Lrem Isum!

使用列表推導式

在這種方法中,我們將使用列表推導式迭代字串中的字元,並且僅新增不是我們要刪除的特定字元的字元。

示例

我們定義一個名為 my_string 的字串,其中包含我們要修改的原始字串。

我們定義一個名為 chars_to_remove 的列表,其中包含我們要從字串中刪除的特定字元。

我們使用列表推導式迭代字串中的每個字元,如果它不在 chars_to_remove 列表中,則將其新增到列表中。

我們使用 .join() 方法將生成的字元列表重新連線成一個字串,並將其儲存在一個名為 result 的新變數中。

最後,我們列印結果字串。

# define the string

my_string = "Lorem Ipsum!"

# define the characters we want to remove
chars_to_remove = ['o', 'p']

# use list comprehension to remove the specific characters

result = ''.join([char for char in my_string if char not in chars_to_remove])

# print the result
print(result)

輸出

Lrem Isum!

使用正則表示式

在這種方法中,我們將使用 Python 中的 re 模組使用正則表示式從字串中刪除特定字元。

示例

我們匯入 re 模組以在 Python 中使用正則表示式。

我們定義一個名為 my_string 的字串,其中包含我們要修改的原始字串。

我們定義一個名為 chars_to_remove 的列表,其中包含我們要從字串中刪除的特定字元。

我們使用 join() 方法使用管道符號 | 連線 chars_to_remove 列表來定義正則表示式模式。這將建立一個匹配 chars_to_remove 列表中任何字元的正則表示式模式。

我們使用 re.sub() 方法將模式的任何匹配項替換為 my_string 中的空字串。

最後,我們列印結果字串。

import re

# define the string
my_string = "Lorem Ipsum!"
# define the characters we want to remove
chars_to_remove = ['o', 'p']


# define a regular expression pattern to match the characters we want to remove
pattern = '|'.join(chars_to_remove)

# use re.sub() to remove the specific characters
result = re.sub(pattern, '', my_string)

# print the result
print(result)

輸出

Lrem Isum!

這些是在 Python 中使用不同技術從字串中刪除特定字元的一些示例。您可以選擇最適合您的需求和偏好的方法。

更新於: 2023年8月11日

1K+ 次檢視

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.