Python で文字列から数字を削除する
-
Python で
string.join()
メソッドを使用して文字列から数値を削除する -
Python で
string.translate()
メソッドを使用して文字列から数値を削除する -
re.sub()
メソッドを使用して Python の文字列から数値を削除する
![Python で文字列から数字を削除する](/img/Python/feature-image---remove-numbers-from-string-python.webp)
このチュートリアルでは、Python で文字列から数字または数字を削除するためのさまざまな方法について説明します。通常、データクリーニングのプロセス中に、自然言語処理でデータから数値を削除します。
文字列 abcd1234efg567
があり、文字列から数字を削除して、abcdefg
のような文字列を取得するとします。次の方法を使用して、Python の文字列から数字を削除できます。
Python で string.join()
メソッドを使用して文字列から数値を削除する
string.join(iterable)
メソッドは、反復可能オブジェクト iterable
を入力として受け取り、string
の値を区切り文字として使用してその要素を結合し、結果の文字列を出力として返します。
文字列から数値を削除するには、最初に文字列を反復処理して数字以外の値を選択し、それらを string.join()
メソッドに渡して結合し、数字以外の文字を含む結果の文字列を出力として取得します。
以下のサンプルコードは、string.join()
メソッドを使用して Python で文字列から数値を削除する方法を示しています。
string = "abcd1234efg567"
newstring = "".join([i for i in string if not i.isdigit()])
print(newstring)
出力:
abcdefg
Python で string.translate()
メソッドを使用して文字列から数値を削除する
Python 2 の string.translate(map)
メソッドは、マッピングテーブルまたはディクショナリを入力として受け取り、指定された文字を入力マッピングテーブルまたはディクショナリで定義された文字に置き換えた後に文字列を返します。
以下のサンプルコードは、string.translate()
メソッドを使用して Python 2 で文字列から数値を削除する方法を示しています。
from string import digits
string = "abcd1234efg567"
newstring = string.translate(None, digits)
print(newstring)
出力:
abcdefg
Python 3 では、string.translate(table)
は、Python 2 のように、マッピングテーブルまたはディクショナリではなく、変換テーブルを入力として受け取ります。したがって、str.maketrans()
メソッドを使用して、string.translate()
メソッドの入力として使用するための変換テーブル。
以下のサンプルコードは、string.translate()
および str.maketrans()
メソッドを使用して、Python 3 で文字列から数値を削除する方法を示しています。
from string import digits
string = "abcd1234efg567"
table = str.maketrans("", "", digits)
newstring = string.translate(table)
print(newstring)
出力:
abcdefg
re.sub()
メソッドを使用して Python の文字列から数値を削除する
re.sub(pattern, replace, string)
は、入力として string
を受け取り、pattern
文字列(正規表現として記述)の重複しないオカレンスを replace
値に置き換えることによって文字列を返します。文字列で。
数字の正規表現は [0-9]+
です。re.sub()
メソッドを使用して入力 string
から数値を削除するには、これを pattern
引数として、''
を replace
として渡す必要があります。
以下のサンプルコードは、re.sub()
メソッドを使用して文字列から数値を削除する方法を示しています。
import re
string = "abcd1234efg567"
newstring = re.sub(r"[0-9]+", "", string)
print(newstring)
出力:
abcdefg