2011-05-31 14 views

उत्तर

190

आप your_text चर में अपना पाठ है, तो आप उपयोग कर सकते हैं:

your_text[0..29] 
+13

या 'your_text [0 ... 30]' – Sorrow

162

उपयोग 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 
+0

बड़ा धन्यवाद आदमी :) जाँच! –

+0

सुपर कमाल का जवाब! +1 – Automatico

+24

स्पष्ट होने के लिए, स्ट्रिंग के अंत तक पहुंचने के लिए '-1' का उपयोग किया जाता है, इसलिए **' a [1 ..- 1] # => "ello वहाँ" '**। –

23

के बाद से आपके द्वारा टैग की यह रेल, आप 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

+6

रूबी रेल नहीं है। –

+0

@ जोओडाम टैग एंड्रयू मार्शल द्वारा बदल दिया गया – apneadiving

+0

क्या परिवर्तन के लिए कोई औचित्य था? यदि ओपी रेल में काम करता है और रेल में समाधान मांगता है, तो सवाल रेल के साथ टैग किया जाना चाहिए। और फिर आपका जवाब समझ में आएगा। –

0

आप एक स्ट्रिंग चाहते हैं, तो अन्य उत्तर ठीक हैं, लेकिन अगर क्या आप देख रहे हैं पात्रों के रूप में पहले कुछ अक्षर है कि आप उन्हें एक सूची के रूप पहुंच सकता है:

your_text.chars.take(30) 
1

आप उपयोग कर सकते हैं यदि आप इसे रेल में आवश्यकता first (source code)

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

वहाँ भी last (source code)

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

वैकल्पिक रूप से from/to

संबंधित मुद्दे