Pythonの正規表現で文字列からスペース・タブ・改行を削除する方法
Pythonの正規表現(reモジュール)を使うと、文字列に含まれるスペース・タブ・改行などの空白文字を簡単に取り除くことができます。
ポイントは、正規表現で \S を使うことです。\S は「空白文字以外のすべての文字」を表すメタ文字で、これにマッチする文字だけを抽出すれば、結果的に空白類がすべて除去された文字列が得られます。
サンプルコード
import re
result = re.findall(r"\S", """I find
Tutorialspoint useful""")
print(result)実行結果
上記のコードを実行すると、次のような出力が得られます。空白文字が除外され、1文字ずつリストとして抽出されていることがわかります。
['I', 'f', 'i', 'n', 'd', 'T', 'u', 't', 'o', 'r', 'i', 'a', 'l', 's', 'p', 'o', 'i', 'n', 't', 'u', 's', 'e', 'f', 'u', 'l']
補足:空白を除いた文字列として取得するには
re.findall の戻り値は「文字のリスト」なので、元の形の文字列として扱いたい場合は join() を組み合わせると便利です。
import re
text = """I find
Tutorialspoint useful"""
cleaned = ''.join(re.findall(r"\S", text))
print(cleaned) # IFindTutorialspointusefulこのように、\S を活用することで、スペース・タブ・改行を問わず、すべての空白文字をまとめて削除できます。
-
Pythonの正規表現における修飾子(フラグ)の使い方と機能一覧
Python正規表現の修飾子とはPythonのreモジュールでは、正規表現によるパターンマッチングの挙動を制御するために、さまざまな修飾子(フラグ)を指定することができます。これらの修飾子を使うことで、大文字小文字の区別や改行の扱いなど、マッチングの動作を柔軟に変更できます。以下に、主要な修飾子とその機能を一覧形式で紹介します。1. re.I(re.IGNORECASE)大文字と小文字を区別せずにマッチングを行います。英字の大小を無視したい場合に便利です。2. re.L(re.LOCALE)現在のロケール設定に従って単語を解釈します。このフラグは、アルファベット系のグループ(\w および \W
-
【Python入門】文字列が空白(スペース・タブ・改行)のみかどうかを判定する2つの方法
Pythonでは、文字列が「空」——つまりスペース、タブ、改行などの空白文字のみで構成されているかどうかを簡単にチェックできます。主な方法は以下の2つです。 文字列メソッド isspace() を使う方法 re モジュールの正規表現を使う方法 それぞれの使い方を詳しく見ていきましょう。 方法1:isspace() メソッドを使う str 型が持つ isspace() メソッドは、文字列が空白文字だけで構成されていて、かつ1文字以上ある場合に True を返します。通常の文字が1つでも含まれていれば False となります。 サンプルコード print(Hello world.isspace