webentwicklung-frage-antwort-db.com.de

Wie kann man einen durch Trennzeichen getrennten String in Ruby) aufteilen und in ein Array konvertieren?

Ich habe eine Schnur

"1,2,3,4"

und ich möchte es in ein Array konvertieren:

[1,2,3,4]

Wie?

221
Neil Middleton
>> "1,2,3,4".split(",")
=> ["1", "2", "3", "4"]

Oder für ganze Zahlen:

>> "1,2,3,4".split(",").map { |s| s.to_i }
=> [1, 2, 3, 4]

Oder für spätere Versionen von Ruby (> = 1.9 - wie von Alex herausgestellt):

>> "1,2,3,4".split(",").map(&:to_i)
=> [1, 2, 3, 4]
400
Shadwell

"1,2,3,4".split(",") als Zeichenfolge

"1,2,3,4".split(",").map { |s| s.to_i } als ganze Zahlen

31
Oliver N.

Für String Integer Ohne Leerzeichen als String

arr = "12345"

arr.split('')

output: ["1","2","3","4","5"]

Für String Integer Mit Leerzeichen als String

arr = "1 2 3 4 5"

arr.split(' ')

output: ["1","2","3","4","5"]

Für String Integer Ohne Leerzeichen als Integer

arr = "12345"

arr.split('').map(&:to_i)

output: [1,2,3,4,5]

Für String

arr = "abc"

arr.split('')

output: ["a","b","c"]

Erklärung:

  1. arr -> Zeichenfolge, die Sie ausführen möchten.
  2. split() -> ist eine Methode, die die Eingabe aufteilt und als Array speichert.
  3. '' Oder ' ' Oder ',' -> ist ein Wert, der aus dem angegebenen String entfernt werden muss.
17
Aravin

der einfachste Weg, eine Zeichenfolge mit einem Trennzeichen wie einem Komma zu konvertieren, ist die Verwendung der Aufteilungsmethode

"1,2,3,4".split(',') # "1", "2", "3", "4"]

weitere Informationen zur Verwendung der Aufteilungsmethode finden Sie in den Ruby-Dokumenten

Unterteilt str anhand eines Trennzeichens in Teilzeichenfolgen und gibt ein Array dieser Teilzeichenfolgen zurück.

Wenn pattern ein String ist, wird sein Inhalt als Trennzeichen beim Teilen von str verwendet. Wenn pattern ein einzelnes Leerzeichen ist, wird str in Leerzeichen aufgeteilt, wobei führende Leerzeichen und fortlaufende Leerzeichen ignoriert werden.

Wenn pattern ein Regexp ist, wird str geteilt, wo das Muster übereinstimmt. Immer wenn das Muster mit einer Zeichenfolge der Länge Null übereinstimmt, wird str in einzelne Zeichen aufgeteilt. Wenn das Muster Gruppen enthält, werden die entsprechenden Übereinstimmungen auch im Array zurückgegeben.

Wenn das Muster weggelassen wird, wird der Wert von $; wird genutzt. Wenn $; ist nil (dies ist die Standardeinstellung), str wird in Leerzeichen aufgeteilt, als ob "" angegeben worden wäre.

Wenn der Parameter limit weggelassen wird, werden nachfolgende Nullfelder unterdrückt. Wenn limit eine positive Zahl ist, wird höchstens diese Anzahl von Feldern zurückgegeben (wenn limit 1 ist, wird die gesamte Zeichenfolge als einziger Eintrag in einem Array zurückgegeben). Wenn negativ, gibt es keine Begrenzung für die Anzahl der zurückgegebenen Felder, und nachfolgende Nullfelder werden nicht unterdrückt.

1
MZaragoza