[Ruby]文字列(string)の特定の位置の文字を削除するには?

Ruby

どうも、ちょげ(@chogetarou)です。

文字列(string)の特定のインデックスの文字を削除する方法を紹介します。

スポンサーリンク

方法

文字列(string)の特定の位置の文字を削除する方法は、2つあります。

slice!メソッド

ひとつは、slice!メソッドを使う方法です。

まず、文字列からslice!メソッドを呼び出します。

そして、slice!メソッドの引数にインデックスを指定します。

#text=対象の文字列, index=削除する位置のインデックス
text.slice!(index)

上記のslice!メソッドは、対象の文字列の指定したインデックスの文字を削除します。

使用例

text = "abcdefg"

index = 2
text.slice!(index)

p text
出力:
"abdefg"

[]

もうひとつは、[]を使う方法です。

まず、「=」の左辺に、文字列名と[]を記述します。

[]内に削除する位置のインデックスを指定します。

そして、「=」の右辺に空文字を記述します。

#text=対象の文字列, index=削除する位置のインデックス
text[index] = ""

上記の「=」は、文字列の[]内に指定したインデックスの文字を削除します。

使用例

text = "abcdefg"

index = 2
text[index] = ""

p text
出力:
"abdefg"

まとめ

文字列(string)の特定の位置の文字を削除する方法は、次の2つです。

  • slice!メソッドを使う方法
    text.slice!(index)
  • []を使う方法
    text[index] = ""

コメント

タイトルとURLをコピーしました