次の文字列があります。
string = """
Hello World
123
HelloWorld
"""
Pythonの文字列からすべての改行をクリアしたい。
私は試した
string.strip()
しかし、それは思い通りに機能していません。
どうすればいいですか?
私はpython 3.3を使用しています
ありがとう。
次の文字列があります。
string = """
Hello World
123
HelloWorld
"""
Pythonの文字列からすべての改行をクリアしたい。
私は試した
string.strip()
しかし、それは思い通りに機能していません。
どうすればいいですか?
私はpython 3.3を使用しています
ありがとう。
三重引用符で囲まれた文字列の使用方法によっては、この問題を完全に回避できることを指摘したいと思います。
Python のトリプル クォート文字列で\
は、行末にバックスラッシュ (" ") を配置して、改行を無視できます。つまり、これを使用して、文字列に改行を加えることなく、コード内のその場所に改行を入れることができます。
例えば:
"""line 1 \
line 2 \
line 3"""
実際になる
line 1 line 2 line 3
何らかのファイルまたはその他の出力に印刷または書き込まれた場合。
このように使用すると、関数で改行を置き換える必要がなくなり、コードがより明確でクリーンになります。
編集:
このようにバックスラッシュの行継続を使用している場合は、単純な単一引用符で囲まれた文字列も同じ方法で使用できます。
"line 1 \
line 2 \
line 3"
も同等です
line 1 line 2 line 3
str.strip
文字列の先頭と末尾から空白を削除します。
>>> string
'\nHello World\n123\nHelloWorld\n'
>>> string.strip()
'Hello World\n123\nHelloWorld'
文字列内の改行文字を削除したい場合は、次を使用して別のものに置き換えることができますstr.replace
。
>>> string.replace('\n', ' ')
' Hello World 123 HelloWorld '
この種の操作translate
には代わりに使用します。replace
>> string.translate(None, "\n")
Hello World123HelloWorld
大きなファイルで作業する場合、翻訳がいかに高速であるかを実感できます。
主な質問はすでに回答されていますが、個々の行を使用する予定がある場合は、これを行う方がよいかもしれないことを追加したいと思います-
string = """
Hello World
123
HelloWorld
"""
for line in string.strip().split('\n'):
print(line)
# do something with the line
上記のコードからの出力-
Hello World
123
HelloWorld
シンプルstr.replace
:
string.replace('\n', ' ')