У мене струна
"1,2,3,4"
і я хотів би перетворити його в масив:
[1,2,3,4]
Як?
У мене струна
"1,2,3,4"
і я хотів би перетворити його в масив:
[1,2,3,4]
Як?
Відповіді:
>> "1,2,3,4".split(",")
=> ["1", "2", "3", "4"]
Або для цілих чисел:
>> "1,2,3,4".split(",").map { |s| s.to_i }
=> [1, 2, 3, 4]
Або для пізніших версій ruby (> = 1.9 - як вказував Алекс):
>> "1,2,3,4".split(",").map(&:to_i)
=> [1, 2, 3, 4]
String Integer
без місця якString
arr = "12345"
arr.split('')
output: ["1","2","3","4","5"]
String Integer
з простором якString
arr = "1 2 3 4 5"
arr.split(' ')
output: ["1","2","3","4","5"]
String Integer
без місця якInteger
arr = "12345"
arr.split('').map(&:to_i)
output: [1,2,3,4,5]
arr = "abc"
arr.split('')
output: ["a","b","c"]
Пояснення :
arr
-> рядок, який ви збираєтесь виконати будь-яку дію.split()
-> - метод, який розділяє вхід і зберігає його як масив.''
або ' '
або ','
-> - це значення, яке потрібно видалити з заданого рядка.найпростіший спосіб перетворення рядка, який має роздільник як кома, - це просто використовувати метод розділення
"1,2,3,4".split(',') # "1", "2", "3", "4"]
ви можете знайти більше інформації про те, як використовувати метод спліт в рубінових документах
Розділяє str на підрядки на основі роздільника, повертаючи масив цих підрядків.
Якщо шаблон є рядком, то його вміст використовується як роздільник при розділенні str. Якщо шаблон є єдиним пробілом, str розділяється на пробіл, з провідними пробілами та пробігами суміжних символів пробілів ігнорується.
Якщо шаблоном є Regexp, str поділяється там, де шаблон відповідає. Щоразу, коли шаблон відповідає рядку нульової довжини, str поділяється на окремі символи. Якщо шаблон містить групи, відповідні збіги також будуть повернуті в масив.
Якщо шаблон опущено, значення $; використовується. Якщо $; є нульовим (за замовчуванням), str розділено на пробіл, як ніби вказано ``.
Якщо параметр граничного значення опущено, кінцеві нульові поля придушуються. Якщо ліміт є позитивним числом, максимум ця кількість полів буде повернута (якщо ліміт дорівнює 1, вся рядок повертається як єдиний запис у масиві). Якщо від'ємне значення, кількість обмежених полів не обмежується, а остаточні нульові поля не придушуються.
"12345".each_char.map(&:to_i)
each_char
в основному те саме, що split('')
: Розбиває рядок на масив своїх символів.
хммм, я просто розумію, що в оригінальному запитанні рядок містить коми, тому моя відповідь не дуже корисна ;-( ..