[ruby] 텍스트의 부분 문자열을 얻는 방법?

길이가 ~ 700 인 텍스트가 있습니다. 첫 번째 문자의 ~ 30 만 얻는 방법은 무엇입니까?



답변

텍스트가 your_text변수 인 경우 다음을 사용할 수 있습니다.

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에 태그를 지정 했으므로 잘라내기를 사용할 수 있습니다.

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"

또는 소스 확인하십시오 ( 소스 코드 ).

"hello".from(1).to(-2) # => "ell"


답변

문자열을 원한다면 다른 대답은 괜찮지 만 문자로 처음 몇 글자를 찾으면 목록으로 액세스 할 수 있습니다.

your_text.chars.take(30)


답변