[Python]文字列から特定の文字を全削除するには?

python

どうも、ちょげ(@chogetarou)です。

文字列から特定の文字を全て削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列から特定の文字を全て削除する方法は、3つあります。

replace()

1つ目は、replace()を使う方法です。

まず、文字列からreplace()メソッドを呼び出します。

そして、replace()メソッドの第1引数に削除する文字、第2引数に「”」を指定します。

new_text = text.replace('文字', '')

上記のreplace()メソッドは、呼び出した文字列から第1引数の文字を全削除した文字列を返します。

使用例

text = "absndlabadaaaaa"

new_text = text.replace('a', '')

print(text)
print(new_text)
出力:
absndlabadaaaaa
bsndlbd

translate()

2つ目は、translate()を使う方法です。

まず、文字列からtranslate()を呼び出します。

translate()の引数に{}を指定します。

そして、{}内に「ord() : None」を指定し、ord()の引数に削除する文字を指定します。

new_text = text.translate({ord('文字') : None})

translate()は、ord()の引数に指定した文字を全削除した文字列を返します。

使用例

text = "absndlabadaaaaa"

new_text = text.translate({ord('a') : None})

print(text)
print(new_text)
出力:
absndlabadaaaaa
bsndlbd

re.sub()

3つ目は、re.sub()を使う方法です。

まず、reをインポートします。

import re

次に、reからsub()を呼び出します。

sub()の第1引数に削除する文字、第2引数に「”」を指定します。

そして、第3引数に対象の文字列を指定します。

new_text = re.sub('文字', '', text)

上記のre.sub()は、第3引数に指定した文字列から第1引数の文字列を削除した文字列を返します。

使用例

import re

text = "absndlabadaaaaa"

new_text = re.sub('a', '', text)

print(text)
print(new_text)
出力:
absndlabadaaaaa
bsndlbd

まとめ

文字列から特定の文字を全削除する方法は、次の3つです。

  • replace()を使う方法
    new_text = text.replace(文字', '')
  • translate()を使う方法
    new_text = text.translate({ord('文字') : None})
  • re.sub()を使う方法
    new_text = re.sub('文字', '', text)

コメント

タイトルとURLをコピーしました