najprostszym sposobem na konwersję łańcucha, który ma separator podobny do przecinka, jest użycie metody split
"1,2,3,4".split(',')# "1", "2", "3", "4"]
Więcej informacji na temat korzystania z metody podziału znajdziesz w ruby docs
Dzieli ciąg na podciągi na podstawie separatora, zwracając tablicę tych podciągów.
Jeśli wzorzec jest ciągiem, wówczas jego zawartość jest używana jako separator podczas dzielenia str. Jeśli wzorzec jest pojedynczą spacją, str jest dzielony na białe znaki, a wiodące białe znaki i ciągi ciągłych białych znaków są ignorowane.
Jeśli wzorzec jest Regexp, str jest dzielone tam, gdzie pasuje wzorzec. Ilekroć wzór pasuje do łańcucha o zerowej długości, str jest dzielone na poszczególne znaki. Jeśli wzorzec zawiera grupy, odpowiednie dopasowania również zostaną zwrócone w tablicy.
Jeśli wzorzec zostanie pominięty, wartość $; Jest używane. Jeśli $; ma wartość zero (co jest wartością domyślną), str jest dzielony na białe znaki, tak jakby podano ``.
Jeśli parametr limitu zostanie pominięty, końcowe pola zerowe są pomijane. Jeśli limit jest liczbą dodatnią, co najwyżej ta liczba pól zostanie zwrócona (jeśli limit wynosi 1, zwracany jest cały ciąg znaków jako jedyny wpis w tablicy). Jeśli wartość jest ujemna, nie ma ograniczenia liczby zwracanych pól, a końcowe pola zerowe nie są pomijane.
Odpowiedzi:
Lub dla liczb całkowitych:
Lub dla późniejszych wersji ruby (> = 1.9 - jak zauważył Alex):
źródło
"1,2,3,4".split(",")
jak struny"1,2,3,4".split(",").map { |s| s.to_i }
jako liczby całkowiteźródło
Dla
String Integer
bez przestrzeni jakoString
Bo
String Integer
z przestrzenią jakString
Dla
String Integer
bez przestrzeni jakoInteger
Na ciąg
Objaśnienie :
arr
-> ciąg znaków, który zamierzasz wykonać dowolną akcję.split()
-> to metoda dzieląca dane wejściowe i przechowująca je jako tablicę.''
lub' '
lub','
-> jest wartością, którą należy usunąć z podanego ciągu.źródło
najprostszym sposobem na konwersję łańcucha, który ma separator podobny do przecinka, jest użycie metody split
Więcej informacji na temat korzystania z metody podziału znajdziesz w ruby docs
źródło
each_char
robi w zasadzie to samo cosplit('')
: Dzieli ciąg na tablicę swoich znaków.hmmm, właśnie zdaję sobie sprawę, że w pierwotnym pytaniu ciąg zawiera przecinki, więc moja odpowiedź nie jest zbyt pomocna ;-( ..
źródło