文字列を指定した文字数に切り詰める
Ruby 1.8では、文字単位の指定で部分文字列を切り出すメソッドが存在しない。このため文字列を指定した文字数に切り詰めるには、String#slice
と正規表現を組み合わせなければならない。以下は文字列を5文字に切り詰める例だ。
p "abc".slice(/\A.{,5}/m) #=> "abc" p "abcdefg".slice(/\A.{,5}/m) #=> "abcde" p "あいうえおかき".slice(/\A.{,5}/m) #=> "あいうえお"
Ruby 1.9では、文字単位の指定で部分文字列が切り出せるようになった。より簡単にString#slice
またはString#[]
を使って、同様の処理を以下のように書ける。
p "abc".slice(0, 5) #=> "abc" p "abcdefg".slice(0, 5) #=> "abcde" p "あいうえおかき".slice(0, 5) #=> "あいうえお"