Python
 Computer >> コンピューター >  >> プログラミング >> Python

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

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

    文字列クラスには、文字列内のサブ文字列を置き換えるために使用できるメソッドreplaceがあります。このメソッドを使用して、削除する文字を空の文字列に置き換えることができます。例: >>> "Hello people".replace("e", "") "Hllo popl" 1行の文字列から複数の文字を削除する場合は、正規表現を使用することをお勧めします。複数の文字は「|」で区切ることができますそして、re.sub(chars_to_replace、string_to_replace_with

  2. 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