4

複数行の文字列を繰り返しスペースのない単一行の文字列に折りたたむクロスプラットフォーム ライブラリ関数はありますか?

以下にいくつかの切り取りを思いつきましたが、おそらく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+'

4

3 に答える 3

0
multi_line.replace('\n', '')

仕事をします。'\n'は、Python の普遍的な行末文字です。

于 2009-08-08T20:20:54.093 に答える