Ich habe Text mit einer Länge von ~ 700. Wie bekomme ich nur ~ 30 seiner ersten Zeichen?
Ich habe Text mit einer Länge von ~ 700. Wie bekomme ich nur ~ 30 seiner ersten Zeichen?
Antworten:
Wenn Sie Ihren Text in einer your_text
Variablen haben, können Sie Folgendes verwenden:
your_text[0..29]
Verwenden Sie String#slice
, auch als Alias []
.
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
-1
wird verwendet, um an das Ende der Zeichenfolge zu gelangen, also a[1..-1] #=> "ello there"
.
a[-4,-2]
. Die einzig gültige Notation sind die beiden Punkte : a[-4..-2]
. Ich habe es auf die harte Tour gelernt.
Da Sie es als Rails markiert haben, können Sie "Abschneiden" verwenden:
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-truncate
Beispiel:
truncate(@text, :length => 17)
Auszug ist auch schön zu wissen, es ermöglicht Ihnen, einen Auszug eines Textes anzuzeigen.
excerpt('This is an example', 'an', :radius => 5)
# => ...s is an exam...
http://api.rubyonrails.org/classes/ActionView/Helpers/TextHelper.html#method-i-excerpt
Wenn Sie es in Schienen benötigen, können Sie es zuerst verwenden ( Quellcode )
'1234567890'.first(5) # => "12345"
es gibt auch letzte ( Quellcode )
'1234567890'.last(2) # => "90"
alternativ prüfen von / nach ( Quellcode ):
"hello".from(1).to(-2) # => "ell"
NoMethodError: undefined method `first' for "abcde":String
ist es eine Rails-Implementierung?
Wenn Sie eine Zeichenfolge möchten, sind die anderen Antworten in Ordnung. Wenn Sie jedoch nach den ersten Buchstaben als Zeichen suchen, können Sie als Liste darauf zugreifen:
your_text.chars.take(30)
your_text[0...30]