1

これが私のコードです:

print apps_version
apps_version = re.sub("\s+"," ",apps_version)
print apps_version
apps_version = apps_version.splitlines()

そして、これが起こることです:

backend    10.2.25
server   12.6.4.6
backend 10.2.25 server 12.6.4.6

空白を単一の空白に置き換えますが、行末から改行記号も削除します。空白を|に置き換えることで解決しました 文字とそれを使用して行を分割しますが、空白を置き換えると改行が削除される理由を誰かが説明できますか?前もって感謝します。

4

1 に答える 1

4

ドキュメントを引用するには:

\s

フラグが指定されていない場合、UNICODE任意の空白文字に一致します。これは set と同等[ \t\n\r\f\v]です。フラグは、スペースのLOCALEマッチングに特別な影響を与えません。が設定されている場合、これは文字に加えて、Unicode 文字プロパティ データベースでスペースとして分類されているものUNICODEと一致します。[ \t\n\r\f\v]

\sスペース (ASCII 32) だけでなく、水平タブ、改行キャリッジ リターン、フォーム フィード、垂直タブにも一致します。フラグを有効にするとさらに。UNICODE

スペースだけが気になるなら、r' +'必要なのはスペースだけです。

于 2013-03-20T09:49:12.480 に答える