自然言語処理のデータ前処理では、対象の文字列から連続する空白(又はスペース)を削除し、単一の空白に置き換える作業を行うことがあります。
本記事では、文字列から連続する空白を削除する方法について簡単に解説します。
実際にプログラムを作成してみる
文字列から連続する空白を削除する方法の概要、実装例を紹介します。
アプローチ
この処理を行うに当たっては、正規表現を利用します。
後述のメソッドを用いて連続する空白を表す正規表現を単一の空白で置き換える形になります。
なお、連続する空白を表す正規表現は以下の通りです。
連続する空白を表す正規表現 : ' +' ----------------------------------- + : 直前の文字が 1回以上 繰り返す場合にマッチ
実装例
上記のアプローチを基にプログラムを作成します。
import re
if __name__ == '__main__':
string = 'start end'
print('Before : \n{0}\n'.format(string))
a = ' +' # 1つ以上連続したスペースを表す正規表現
b = ' ' # 単一のスペース
string = re.sub(a, b, string) # 引数1を引数2で置き換える(引数3の文字列が対象)
print('After : \n{0}'.format(string))
このプログラムを実行すると以下の出力結果が得られます。
Before : start end After : start end
出力結果から無事に連続する空白の削除が完了していることがわかります。