はじめに
この記事では、Pythonを使用して文字列から文字を削除するための2つの一般的な方法について説明します:
String replace()
メソッドString translate()
メソッド
Pythonで文字列からスペースを削除するさまざまな方法については、「Pythonで文字列からスペースを削除する」を参照してください。
A Python String object is immutable, so you can’t change its value. Any method that manipulates a string value returns a new String object.
このチュートリアルの例では、異なる文字を削除する方法をデモンストレーションするために、Pythonインタラクティブコンソールをコマンドラインで使用します。
DigitalOcean App Platformを使用してGitHubからPythonアプリケーションをデプロイしましょう。DigitalOceanがアプリのスケーリングにフォーカスします。
replace()
メソッドを使用して文字列から文字を削除する
String replace()メソッドは、文字を新しい文字で置き換えるためのものです。文字列から文字を削除するには、最初の引数として置き換える文字(または文字列)を指定し、2番目の引数として空の文字列を指定します。
文字列変数を宣言します:
- s = 'abc12321cba'
文字を空の文字列に置き換えます:
- print(s.replace('a', ''))
出力は:
Outputbc12321cb
出力結果は、文字a
の両方の出現が文字列から削除されたことを示しています。
replace()メソッドを使用して文字列から改行文字を削除する
改行文字を含む文字列変数を宣言します:
- s = 'ab\ncd\nef'
改行文字を空の文字列に置き換えます:
- print(s.replace('\n', ''))
出力は:
Outputabcdef
出力結果は、改行文字(\n
)の両方が文字列から削除されたことを示しています。
replace()メソッドを使用して文字列からサブストリングを削除する
replace()
メソッドは文字列を引数として受け取るため、文字列内の単語を置換することもできます。
文字列変数を宣言します:
- s = 'Helloabc'
単語を空の文字列で置換します:
- print(s.replace('Hello', ''))
出力は次のようになります:
Outputabc
出力には、Hello
という文字列が入力文字列から削除されたことが示されています。
replace()
メソッドを使用して特定の回数だけ文字を削除する
replace()
メソッドには、3番目の引数として文字列内での置換回数を指定することができます。たとえば、3番目の引数として2
を指定すると、指定された文字の最初の2回の出現のみが置換されます。
文字列変数を宣言します:
- s = 'abababab'
最初の2回の出現を新しい文字で置換します:
- print(s.replace('a', 'A', 2)) # 置換を2回行う
出力は次のようになります:
OutputAbAbabab
出力には、a
文字の最初の2回の出現がA
文字に置換されていることが示されています。置換は2回のみ行われたため、その他のa
の出現は文字列内に残っています。
translate()
メソッドを使用して文字列から文字を削除する方法
Pythonの文字列のtranslate()
メソッドは、与えられたマッピングテーブルまたは辞書を使用して文字列内の各文字を置換します。
文字列変数を宣言します:
- s = 'abc12321cba'
文字のUnicodeコードポイント値を取得し、それをNone
で置き換えます:
- print(s.translate({ord('b'): None}))
出力は次のようになります:
Outputac12321ca
出力は、カスタム辞書で定義されたように文字列からb
文字の両方が削除されていることを示しています。
translate()
メソッドを使用して文字列から複数の文字を削除する方法
translate()
メソッドを使用して文字列内の複数の文字を置換することができます。次の例では、与えられた文字列内のa
、b
、c
のすべての出現箇所をNone
で置き換えるカスタム辞書{ord(i): None for i in 'abc'}
を使用しています。
文字列変数を宣言します:
- s = 'abc12321cba'
文字列内のすべてのabc
文字をNone
に置き換えます:
- print(s.translate({ord(i): None for i in 'abc'}))
出力は:
Output12321
出力は、カスタム辞書で定義された通り、文字列からa
、b
、およびc
のすべての出現を削除したことを示しています。
translate()メソッドを使用して文字列から改行文字を削除する
translate()
メソッドを使用して文字列内の改行文字を置換することができます。次の例では、カスタム辞書{ord('\n'): None}
を使用して、与えられた文字列内のすべての\n
の出現をNone
で置き換えます。
文字列変数を宣言する:
- s = 'ab\ncd\nef'
\n
のすべての文字をNone
で置換する:
- print(s.translate({ord('\n'): None}))
出力は:
Outputabcdef
出力は、カスタム辞書で定義された通り、文字列から改行文字\n
のすべての出現を削除したことを示しています。
結論
このチュートリアルでは、Pythonで文字列から文字を削除するために使用できるいくつかの方法を学びました。Pythonの文字列についての学習を続けてください。Pythonの文字列についてもっと学びましょう。
Source:
https://www.digitalocean.com/community/tutorials/python-remove-character-from-string