俺のクソレシピ

おもにプログラミングについて俺の趣味についてテキトーに書いています。

記事一覧

Pythonで文字列の特定の文字の削除

Pythonで文字列の何番目かの文字を削除する方法が探してもなかったので一応できる方法を紹介します。もしそういう方法があったら、教えていただけるとうれしいです。

f:id:myprogramming:20170627164334j:plain

スライスで削除する文字以外を取得する

str_del = str[:*1文字列のインデックス]+str[文字列のインデックス+1:]

という風にすれば簡単にできます。この方法では、削除したい文字以外をスライスで取得してそれを別の変数に代入しています。

スライスについて詳しくはこちら

スライスを使った部分文字列の取得 - 文字列 - Python入門

文字列を一旦リストに型変換する

この方法では文字列を一旦リストに型変換してdelを使ってリストの特定の要素を削除してから、そのリストをjoinを使って文字列に戻しています。こちらもインデックス番号には気をつけてください。

いちいち書くのがめんどくさいから関数化する

こんなのいちいち書くの面倒なので関数にしちゃいましょう。

引数には文字を削除したい文字列とその削除したい文字のインデックス番号を渡します。

str_del("abcdef", 2) //abdef

まとめ

文字列の何番目かの文字を削除したいと思って今回はこのようなやり方をしましたが、もしもっといい方法があったりちゃんとした書き方がもとからあったら教えてくれると嬉しいです。ではまた今度。

*1:文字列のインデックスは0から数えてください。要は-1をしてください。(例:3番めの文字→2)