私は、エラーコードのリストを持っており、これらのコードの一つがある:Pythonは^をsplit()の空白として扱っていますか?
Dial code generated note %d on stn ^char, cct %d^cct_chk^cct_chk
%
、^
または$
シンボルが可変であると私は<*>
とそれらの変数全体用語を交換する必要が含まれている任意の用語。
Dial code generated note <*> on stn <*> cct <*>
は私が書かれているこれを行うには:
したがって、上記の行は次のようになります。
message = "Dial code generated note %d on stn ^char, cct %d^cct_chk^cct_chk"
for term in message.split():
if '^' in term:
message = message.replace(term, '<*>')
if '$' in term:
message = message.replace(term, '<*>')
if '%' in term:
message = message.replace(term, '<*>')
print (message)
ほとんどのメッセージの場合、これが働いているようです。しかし、この例のために私が取得しています:それはちょうど空白のような^
を扱っているかのように
>>Dial code generated note <*> on stn <*> <*> <*>^<*>_chk^<*>_chk
これは、表示されますそれ以外の場合は全体の最後の項は<*>
に置き換えされている必要があります。 誰かが私にこの理由を教えてもらえますか?
あなたは既にました'%d'のすべてを' <*> 'に置き換えました。最後の言葉になる頃には、もうスプリットバージョンではなくなりました。短い答え:いいえ、そうではありません。しかし、あなたの出力はあなたが投稿したコードとはまったく一致しません。 – jonrsharpe
ああ。あなたは私が後の出力を与えるので、私はその場合にそれを修正する方法を知っていますか? –
あなたのサンプルコードを使用して、私はあなたの出力例とは違う 'dial dial code note <*> stn <*> cct <*>^cct_chk^cct_chk'を取得します。 –