У меня есть текст длиной ~ 700. Как получить только ~ 30 своих первых символов?
Как получить подстроку текста?
Ответ 1
Если у вас есть текст в переменной your_text
, вы можете использовать:
your_text[0..29]
Ответ 2
Используйте 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
Ответ 3
Поскольку вы отметили его 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
Ответ 4
если вам это нужно в рельсах, вы можете использовать first (исходный код)
'1234567890'.first(5) # => "12345"
существует также last (исходный код)
'1234567890'.last(2) # => "90"
альтернативно проверьте от/до
Ответ 5
Если вам нужна строка, тогда другие ответы будут точными, но если вы ищете первые буквы в качестве символов, вы можете получить к ним доступ в виде списка:
your_text.chars.take(30)