Pythonの正規表現を使って文字列を改行やピリオドで分割する方法
Pythonでは、reモジュールの正規表現を活用することで、文字列をピリオド(.)や改行を基準に簡単に分割できます。以下にその具体的な方法を紹介します。
サンプルコード
次のコードは、指定した文字列をピリオドと改行の両方を区切りとして分割する例です。
import re s = """Hi. It's nice meeting you. My name is Jason.""" result = re.findall(r'[^\s\.][^\.\n]+', s) print(result)
実行結果
このコードを実行すると、以下のような出力が得られます。
['Hi', "It's nice meeting you", 'My name is Jason']
解説
ここで使用している正規表現パターン [^\s\.][^\.\n]+ の意味は以下の通りです。
[^\s\.]:空白文字とピリオド以外の1文字から開始することを表します。これにより、文頭の余分な空白やピリオドが結果に含まれるのを防ぎます。[^\.\n]+:ピリオドと改行以外の文字が1回以上続く部分にマッチします。
re.findall()は、パターンにマッチしたすべての部分文字列をリストとして返すため、文章を文ごとにきれいに抽出できます。
代替手段:re.split()を使う方法
区切り文字そのものを指定して分割したい場合は、re.split()を使用するのも有効です。
import re s = """Hi. It's nice meeting you. My name is Jason.""" result = [x.strip() for x in re.split(r'[\.\n]+', s) if x.strip()] print(result)
この方法でも同様に、ピリオドと改行を区切りとして文字列を分割でき、前後の空白もstrip()で除去しています。
まとめ
正規表現を使えば、ピリオドや改行など複数の区切り条件を柔軟に組み合わせて文字列を分割できます。テキスト処理やログ解析など、さまざまな場面で役立つテクニックなので、ぜひ活用してみてください。
-
C#で正規表現を使って文字列を分割する方法を解説
C#で正規表現を使用して文字列を分割するには、Regex.Splitメソッドを利用します。このメソッドは、指定した正規表現パターンに一致する箇所で文字列を分割し、結果を文字列の配列として返します。基本的な使い方例として、改行コード()を含む次の文字列を考えてみましょう。string str = Hello\r\nWorld;この文字列をRegex.Splitを使って分割すると、以下のようになります。string[] res = Regex.Split(str, \r\n);サンプルコード以下は、C#で正規表現を使って文字列を分割する完全なサンプルコードです。using System; usin
-
【Python】tkinterでマウスのクリック座標に沿って線を描画する方法
マウスの座標に沿って線を引くには、マウスがクリックされるたびにその座標を取得する関数を作成し、連続する2点間に線を描画する仕組みが必要です。ここでは、実際のコード例を使いながら、その実装方法をわかりやすく解説します。 実装の手順 tkinterライブラリをインポートし、tkinterフレーム(ウィンドウ)のインスタンスを作成します。 geometryメソッドを使って、ウィンドウのサイズを設定します。 ユーザー定義メソッド「draw_line」を作成し、マウスがクリックされるたびにx座標とy座標を取得します。そして、Canvasのcreate_line()メソッドを使用して、直前の点と現在の点