Pythonで指定された文字列から文字のみを抽出します
データには、文字、数字、および特殊文字が含まれる場合があります。このデータ文字列から文字のみを抽出することに関心がある場合は、Pythonで利用可能なさまざまなオプションを使用できます。
isalphaを使用
isalpha関数は、指定された文字がアルファベットかどうかをチェックします。これをforループ内で使用して、指定された文字列から各文字をフェッチし、それがアルファベットかどうかを確認します。 joinメソッドは、有効な文字のみを結果に取り込みます。
例
stringA = "Qwer34^&t%y" # Given string print("Given string : ", stringA) # Find characters res = "" for i in stringA: if i.isalpha(): res = "".join([res, i]) # Result print("Result: ", res)
出力
上記のコードを実行すると、次の結果が得られます-
Given string : Qwer34^&t%y Result: Qwerty
正規表現付き
正規表現モジュールを活用して、文字のみを表すパラメーター値を与える関数findallを使用できます。
例
import re stringA = "Qwer34^&t%y" # Given string print("Given string : ", stringA) # Find characters res = "".join(re.findall("[a-zA-Z]+", stringA)) # Result print("Result: ", res)
出力
上記のコードを実行すると、次の結果が得られます-
Given string : Qwer34^&t%y Result: Qwerty
-
Pythonで文字列から特定の文字を削除するにはどうすればよいですか?
文字列クラスには、文字列内のサブ文字列を置き換えるために使用できるメソッドreplaceがあります。このメソッドを使用して、削除する文字を空の文字列に置き換えることができます。例: >>> "Hello people".replace("e", "") "Hllo popl" 1行の文字列から複数の文字を削除する場合は、正規表現を使用することをお勧めします。複数の文字は「|」で区切ることができますそして、re.sub(chars_to_replace、string_to_replace_with
-
Pythonで文字列から数字を抽出する方法は?
正の整数のみが必要な場合は、次のように分割して数値を検索できます。 >>> str = "h3110 23 cat 444.4 rabbit 11 2 dog" >>> [int(s) for s in str.split() if s.isdigit()] [23, 11, 2] 他のすべての場合、正規表現を使用するのが最良の選択です。また、値を抽出するときは、文字列からintに変換するのが最適です。例: >>> import re >>> [float(s) for s in re.findall