Как получить подстроку текста?

У меня есть текст длиной ~ 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)