如何获得文本的子string?

我有长度约700的文字。 我怎样才能得到它的第一个字符〜30?

如果你在your_textvariables中有你的文本,你可以使用:

 your_text[0..29] 

使用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 

既然你标记了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

如果你需要在rails中使用,你可以先使用( 源代码 )

 '1234567890'.first(5) # => "12345" 

还有最后 ( 源代码 )

 '1234567890'.last(2) # => "90" 

或从/到

如果你想要一个string,那么其他的答案是好的,但如果你要找的是前几个字母作为字符,你可以作为一个列表访问它们:

 your_text.chars.take(30)