2017-03-07 20 views
-2

"。"を置き換えるための次のPythonコードで何が問題になっていますか? 「 - 」文字列内の文字を置き換える?

x = 'BRK.B' 
if "." in x 
    spot = x.find('.') 
    x(spot)="-" 
+1

x [スポット]! xではなく(スポット)!!! –

+0

と置き換えたい場合は使用してください。x.replace( "。"、 " - ") –

+2

@KeerthanaPrabhakaranはPython文字列が不変なので、実際には違いがありません。どちらの方法でも動作しません。両方とも 'TypeError'の結果が – DeepSpace

答えて

1

あなたはあなたのコードが実行不可能になり、いくつかのタイプミスを、持っています。

これを修正しても、xは文字列であり、文字列は変更できません。

str.replaceを使用できます。

>>> 'BRK.B'.replace('.', '-') 
'BRK-B' 

あなただけの最初の出現置き換える場合:何らかの理由で、あなたが本当にそれを自分で行いたい場合は

>>> 'BRK.B'.replace('.', '-', 1) 
'BRK-B' 

を:あなたはちょうどreplaceを使用することができ

x = x.replace('.','-') 
+4

これはコメントになっています! –

+0

多くの場合、OPの質問を満足させる最短の答えを書いてから、一貫して精緻化します。あなたは人々がそれを好きではないかもしれません。 –

+0

本当に!とにかくこれはとにかくhttp://stackoverflow.com/questions/1228299/change-one-character-in-a-string-in-python –

1

x = 'BRK.B' 
if "." in x: # <- Don't forget : after x 
    spot = x.find('.') 
    # You're not allowed to modify x, but you can create a new string 
    x = x[:spot] + '-' + x[spot+1:] 
print(x) 
# 'BRK-B' 
関連する問題