[Ruby]文字列(string)の後ろからN文字を削除するには?

Ruby

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

文字列(string)の末尾から指定した文字数を削除する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

文字列(string)の後ろからN文字を削除する方法は、2つあります。

slice!メソッド

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

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

そして、slice!メソッドの第1引数に削除する文字数のマイナスの値、第2引数に削除する文字数を指定します。

//text=対象の文字列, n=削除する文字数
text.slice!(-n, n)

上記のslice!メソッドは、呼び出した文字列(string)の末尾からN文字を削除します。

使用例

text = "Hello,World"

#後ろから6文字を削除
n = 6
text.slice!(-n, n)

p text
出力:
"Hello"

範囲(range)

もう1つは、範囲(range)を使う方法です。

str[..-N-1]」のように、[]で文字列の先頭から「-N-1」(N=削除する文字数)までの範囲を抽出します。

//text=対象の文字列, n=削除する文字数
result = text[..-n-1]

先頭から「-N-1」(N=削除する文字数)までの範囲を取り出すことで、文字列(string)の末尾からN文字を削除した文字列を取得できます。

使用例

text = "Hello,World"

#textの後ろから6文字を削除
n = 6
result = text[..-n-1]

p result
出力:
"Hello"

まとめ

文字列(string)の後ろからN文字を削除する方法は、2つあります。

  • slice!メソッドを使う方法
    text.slice!(-n, n)
  • 範囲(range)を使う方法
    result = text[..-n-1]

コメント

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