ECのウェブ担当者のメモ

ECサイトを運営管理している、WEB担当プログラマのメモ

スポンサーリンク

Rubyでstringの文字数を調整したり、部分的に取り出したりする

f:id:jun9632:20171010101257p:plain

Rubyでstringの文字数を調整したり、部分的に取り出したりする方法です。

使用用途として外部のサービにデータを渡す時など、文字数に制限がかっかていたりすので、 その仕様に合わせて文字数を調整する方法です。

先頭から5文字取得する

先に実際のサンプルは以下になります。

number = "1234567890"
number[0, 5]

=> "12345"

大事なところは、

number[0, 5]

です。

number[index, len]

となって

index => 何番目の文字から取得開始するか len => 何文字取得するか

number[0, 5]

の場合だと、

0番目から、5文字取得する

となります。

同じ雰囲気を出しながら

number[0..5]

とやると、

=> "123456"

6までとれてしまうので注意が必要です。

上記のパターンだとインデックスで0番目から5番目まで取得することになるので6文字取得することになります。

number[0, 5]

と同じことをするのであれば

number[0..4]

になります。

文字列の途中から5文字取得する

基本的にはこれを使えば問題なしです。

number[index, len]

インデックスで3番目から5文字取得しようとすると下記の様になります。

number = "1234567890"
number[3, 5]

=> "45678"

後ろから5文字取得する

後ろから取得する場合も、以下が使えます。

number[index, len]

後ろから5文字取得する場合は、

number = "1234567890"
number[-5, 5]

=> "67890"

indexのところで、マイナス値(-5)を設定します。 後ろから5番目から5文字取得しますという感じになります。

関連記事

marketing-web.hatenablog.com

marketing-web.hatenablog.com

改訂2版 パーフェクトRuby

改訂2版 パーフェクトRuby