
ピーター
C++みたいに文字列の中で1文字だけ置き換えられない!?
と困ったので、備忘録メモです。
string型は直接文字を置き換えられない
Pythonの場合、string型の文字列を直接置き換えることができません。
n番目の文字を置き換える場合は、以下のような方法が答えの1つになります。
サンプルコード(n番目の文字を置き換え)
### [in]in_str:入力する文字列
### [in]rep_char:置き換える文字
### [in]in_num:置き換える対象のn番目の文字数(1スタート)
def str_replace(in_str, rep_char, in_num):
output = ""
for i, tmp in enumerate(in_str):
if i + 1 != in_num:
output += tmp
else:
output += rep_char
return output
test_str = "ABCDEFGHI"
print(str_replace(test_str, "1", 1))
## 入力:"ABCDEFGHI"
## 出力:"1BCDEFGHI"
コメント