Python で何かを実行するpopen
と、各行の末尾にキャリッジ リターン (13) の CR-LF 10 進値を含むバッファーから結果が返されます。これを Python 文字列からどのように削除しますか?
19442 次
6 に答える
6
あなたは簡単に行うことができます
s = s.replace('\r\n', '\n')
CRNL のすべての出現箇所を NL だけに置き換えるには、これが必要なようです。
于 2009-11-18T22:31:35.853 に答える
2
buffer = "<text from your subprocess here>\r\n"
no_cr = buffer.replace("\r\n", "\n")
于 2009-11-18T22:31:55.417 に答える
2
それらが文字列の最後にある場合は、次を使用することをお勧めします。
buffer = "<text from your subprocess here>\r\n"
no_cr = buffer.rstrip("\r\n")
空白も削除するパラメーターなしで rstrip() を使用することもできます。
于 2009-11-18T22:41:36.317 に答える
1
replace('\r\n','\n') は機能するはずですが、機能しない場合もあります。不思議ですね。代わりにこれを使用できます:
lines = buffer.split('\r')
cleanbuffer = ''
for line in lines: cleanbuffer = cleanbuffer + line
于 2017-04-12T12:30:05.840 に答える
0
実際には、次のことを簡単に行うことができます。
s = s.strip()
これにより、文字列の先頭または末尾にあるCRやLFなどの余分な空白が削除されます。
s = s.rstrip()
同じことをしますが、文字列の末尾のみです。
あれは:
s = ' Now is the time for all good... \t\n\r "
s = s.strip()
sには、「今がすべての善のための時間です...」が含まれています。
s = s.rstrip()
sは今含まれています'今はすべての善のための時間です...'
詳細については、 http://docs.python.org/library/stdtypes.htmlを参照してください。
于 2009-11-19T05:17:32.453 に答える
0
あなたもできs = s.replace('\r', '')
ます。
于 2009-11-19T05:27:23.363 に答える