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

Ruby

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

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

スポンサーリンク

方法

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

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

sliceメソッド

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

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

そして、sliceメソッドの第1引数に取得する文字数の負の値、第2引数に取得する文字数を指定します。

//text=対象の文字列, n=取得する文字数
result = text.slice(-n, n)

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

使用例

text = "Hello,World"

#textの後ろから5文字を取得
n = 5
result = text.slice(-n, n)

p result
出力:
"World"

範囲(range)

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

具体的には、「text[-n..-1]」のように、[]で文字列の取得する文字数の負の値から「-1」までの範囲を抽出します。

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

取得する文字数の負の値から「-1」までの範囲を取り出すことで、文字列(string)の末尾からN文字をを取得できます。

使用例

text = "Hello,World"

#textの後ろから5文字を取得
n = 5
result = text[-n..-1]

p result
出力:
"World"

まとめ

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

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

コメント

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