Zeichenfolge ist ex="test1, test2, test3, test4, test5"
wenn ich benutze
ex.split(",").first
es kehrt zurück
"test1"
Jetzt möchte ich die restlichen Elemente erhalten, d. H. Wenn ich benutze
ex.split(",").last
es kehrt nur zurück
"test5"
Wie bekomme ich die restlichen Elemente, die zuerst übersprungen werden?
Versuche dies:
first, *rest = ex.split(/, /)
Nun ist first
der erste Wert, rest
der Rest des Arrays.
ex.split(',', 2).last
Die 2 am Ende sagt: in 2 Teile geteilt, nicht mehr.
normalerweise wird der Wert in so viele Stücke wie möglich geschnitten. Mit einem zweiten Wert können Sie die Anzahl der Stücke begrenzen, die Sie erhalten. Mit ex.split(',', 2)
erhalten Sie:
["test1", "test2, test3, test4, test5"]
als Array statt:
["test1", "test2", "test3", "test4", "test5"]
Da Sie ein Array haben, ist das, was Sie wirklich wollen, Array#slice
, nicht split
.
_rest = ex.slice(1 .. -1)
# or
rest = ex[1 .. -1]
_
Sie haben wahrscheinlich ein paar Dinge falsch geschrieben. Von dem, was ich erfahre, fängst du mit einer Zeichenfolge an, wie:
string = "test1, test2, test3, test4, test5"
Dann möchten Sie es teilen, um nur die signifikanten Teilzeichenfolgen beizubehalten:
array = string.split(/, /)
Und am Ende brauchen Sie nur alle Elemente außer dem ersten:
# We extract and remove the first element from array
first_element = array.shift
# Now array contains the expected result, you can check it with
puts array.inspect
Hat das Ihre Frage beantwortet?
Entschuldigung, ein bisschen zu spät zur Party und ein bisschen überrascht, dass niemand die drop - Methode erwähnt hat:
ex="test1, test2, test3, test4, test5"
ex.split(",").drop(1).join(",")
=> "test2,test3,test4,test5"
ex="test1,test2,test3,test4,test5"
all_but_first=ex.split(/,/)[1..-1]
wenn Sie sie als Array verwenden möchten, wussten Sie es bereits, ansonsten können Sie jeden von ihnen als einen anderen Parameter verwenden.
parameter1,parameter2,parameter3,parameter4,parameter5 = ex.split(",")
Sie können dies auch tun:
String is ex="test1, test2, test3, test4, test5"
array = ex.split(/,/)
array.size.times do |i|
p array[i]
end
Versuchen Sie split(",")[i]
, wobei i
der Index im Ergebnis-Array ist. split
gibt das folgende Array an
["test1", " test2", " test3", " test4", " test5"]
auf dessen Element kann per Index zugegriffen werden.