我的文字长度约为700。我如何只获得约30个第一个字符?
答案 0 :(得分:224)
如果您的文字位于your_text
变量中,则可以使用:
your_text[0..29]
答案 1 :(得分:195)
使用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
答案 2 :(得分:24)
由于您将其标记为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
答案 3 :(得分:9)
如果您需要 rails ,可以使用first(source code)
'1234567890'.first(5) # => "12345"
还有last(source code)
'1234567890'.last(2) # => "90"
或者检查from/to(source code):
"hello".from(1).to(-2) # => "ell"
答案 4 :(得分:0)
如果你想要一个字符串,那么其他答案都可以,但是如果你要找的是前几个字母作为字符,你可以将它们作为列表访问:
your_text.chars.take(30)