テキスト内の文字間の余分なスペースを削除するスクリプト

テキスト内の文字間の余分なスペースを削除するスクリプト

各文字の後に余分なスペースが追加された大量のテキストを含むテキスト文書があります。

例:

T h e  b o o k  a l s o  h a s  a n  a n a l y t i c a l  p u r p o s e  w h i c h  i s  m o r e  i m p o r t a n t…

視覚的に:

T␣h␣e␣␣b␣o␣o␣k␣␣a␣l␣s␣o␣␣h␣a␣s␣␣a␣n␣␣a␣n␣a␣l␣y␣ ␣c␣a␣l␣␣p␣u␣r␣p␣o␣s␣e␣␣w␣h␣i␣c␣h␣␣i␣s␣␣m␣o␣r␣e m␣p␣o␣r␣t␣a␣n␣t…

以下があります。追加各文字の後にスペースがあるため、連続する単語の間にスペースが2つあります。

余分なスペースを確保awkまたは削除する方法はありますか?sed(残念ながら、このテキスト文書はサイズが大きく、手動でナビゲートするのに時間がかかります。)  私はこれがある種のテキスト認識を必要とするので、単純なbashスクリプトで解決できるより複雑な問題であることを知っています。

この問題をどのように解決できますか?

ベストアンサー1

使用wordsegment、純粋なPythonワード分割NLPパッケージ:

$ pip install wordsegment
$ python2.7 -m wordsegment <<<"T h e b o o k a l s o h a s a n a n a l y t i c a l p u r p o s e w h i c h i s m o r e i m p o r t a n t"
the book also has an analytical purpose which is more important

おすすめ記事