回答:
をString#slice
別名としても使用し[]
ます。
a = "hello there"
a[1] #=> "e"
a[1,3] #=> "ell"
a[1..3] #=> "ell"
a[6..-1] #=> "there"
a[-3,2] #=> "er"
a[-4..-2] #=> "her"
a[12..-1] #=> nil
a[-2..-4] #=> ""
a[/[aeiou](.)\1/] #=> "ell"
a[/[aeiou](.)\1/, 0] #=> "ell"
a[/[aeiou](.)\1/, 1] #=> "l"
a[/[aeiou](.)\1/, 2] #=> nil
a["lo"] #=> "lo"
a["bye"] #=> nil
-1
するために、文字列の終わりに到達するために使用されますa[1..-1] #=> "ello there"
。
a[-4,-2]
。有効な表記は2つのドットのみですa[-4..-2]
。難しい方法でそれを学びました。
Railsにタグを付けたので、truncateを使用できます。
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-truncate
例:
truncate(@text, :length => 17)
抜粋も知っておくと便利です。テキストの抜粋を次のように表示できます。
excerpt('This is an example', 'an', :radius => 5)
# => ...s is an exam...
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-excerpt
あなたがレールでそれを必要とするならば、あなたは最初に使うことができます(ソースコード)
'1234567890'.first(5) # => "12345"
'1234567890'.last(2) # => "90"
または、from / to(ソースコード)を確認します。
"hello".from(1).to(-2) # => "ell"
NoMethodError: undefined method `first' for "abcde":String
、それはレールの実装ですか?
文字列が必要な場合は、他の回答も問題ありませんが、探しているものが文字としての最初の数文字である場合は、リストとしてそれらにアクセスできます。
your_text.chars.take(30)
your_text[0...30]