ホームページ >バックエンド開発 >Python チュートリアル >Python で文字列から特定の文字を削除するにはどうすればよいですか?

Python で文字列から特定の文字を削除するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-12-15 14:18:13377ブラウズ

How Can I Remove Specific Characters from a String in Python?

Python で文字列から特定の文字を削除する

Python では、文字列は不変です。つまり、一度作成された文字列の内容は変更できません。文字列を変更するには、必要な変更を加えた新しい文字列に再バインドする必要があります。

str.replace の使用

str.replace メソッドは、指定された部分文字列のすべての出現を置換するために使用されます。文字列内で。ただし、元の文字列を変更するのではなく、新しい文字列を作成します。元の文字列を更新するには、置換された値を同じ変数に割り当てる必要があります。

line = "Hello world!"
line = line.replace("!", "")  # Replace all occurrences of "!" with an empty string

str.translate の使用

Python 2.6 以降では、str.translate を使用できます。文字列から特定の文字を削除するには、translate メソッドを使用します。このメソッドを使用すると、置換する文字をマップする変換テーブルを指定できます。

line = line.translate(None, "!@#$")  # Remove all occurrences of "!@#$"

re.sub の使用

re.sub メソッドは、文字列に対して正規表現置換を実行します。これを使用して、文字クラス内の文字を削除できます。

import re
line = re.sub(r"[@$%]", "", line)  # Remove all occurrences of "@$%"

Python 3 の考慮事項

Python 3 では、文字列は Unicode であるため、文字を削除するには別のアプローチが必要です。 str.translate の 2 番目の引数として None を渡す代わりに、削除する文字の Unicode コード ポイントを None にマップする翻訳辞書を渡す必要があります。

translation_table = dict.fromkeys(map(ord, "!@#$"), None)
line = line.translate(translation_table)

代替メソッド

文字を削除するその他の方法には次のようなものがあります。

  • リスト内包表記を使用して、必要な文字列のみを含む新しい文字列を作成する文字
  • str.replace を使用して文字をスペースに置き換え、次に str.strip を使用して先頭と末尾のスペースを削除します

以上がPython で文字列から特定の文字を削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。