Python

【Python】文字列から連続する改行を削除


自然言語処理のデータ前処理では、対象の文字列から連続する改行コードを削除し、単一の改行コードに置き換える作業を行うことがあります。

本記事では、文字列から連続する改行を削除する方法について簡単に解説します。

実際にプログラムを作成してみる

文字列から連続する改行を削除する方法の概要、実装例を紹介します。

アプローチ

この処理を行うに当たっては、正規表現を利用します。

後述のメソッドを用いて連続する改行を表す正規表現を単一の改行で置き換える形になります。

なお、連続する改行を表す正規表現は以下の通りです。

連続する改行を表す正規表現 : '\n+'
-----------------------------------
 + : 直前の文字が 1回以上 繰り返す場合にマッチ

実装例

上記のアプローチを基にプログラムを作成します。

import re

if __name__ == '__main__':

    string = '  start \n\n\n\n  end'
    print('Before : \n{0}\n'.format(string))

    a = '\n+'  # 1つ以上連続した改行を表す正規表現
    b = '\n'   # 単一の改行
    string = re.sub(a, b, string)  # 引数1を引数2で置き換える(引数3の文字列が対象)
    print('After  : \n{0}'.format(string))

このプログラムを実行すると以下の出力結果が得られます。

Before :
  start



  end

After  :
  start
  end

出力結果から無事に連続する改行の削除が完了していることがわかります。