複数行の文字列を繰り返しスペースのない単一行の文字列に折りたたむクロスプラットフォーム ライブラリ関数はありますか?
以下にいくつかの切り取りを思いつきましたが、おそらくCで最適化されている、インポートするだけの標準関数があるのだろうか?
def collapse(input):
import re
rn = re.compile(r'(\r\n)+')
r = re.compile(r'\r+')
n = re.compile(r'\n+')
s = re.compile(r'\ +')
return s.sub(' ',n.sub(' ',r.sub(' ',rn.sub(' ',input))))
PS 良い観察をありがとう。私の場合、プリコンパイルされた正規表現' '.join(input.split())
での検索置換と比較して、実際には約2倍高速に実行されるため、勝者のようです。r'\s+'