Ответ 1
Попробуйте следующее:
first, *rest = ex.split(/, /)
Теперь first
будет первым значением, rest
будет остальной частью массива.
Строка
ex="test1, test2, test3, test4, test5"
когда я использую
ex.split(",").first
он возвращает
"test1"
Теперь я хочу получить оставшиеся элементы, т.е. ` "test2, test3, test4, test5". Если я использую
ex.split(",").last
он возвращает только
"test5"
Как перенести все оставшиеся объекты?
Попробуйте следующее:
first, *rest = ex.split(/, /)
Теперь first
будет первым значением, rest
будет остальной частью массива.
ex.split(',', 2).last
2 в конце говорит: разделить на 2 части, не более.
нормальный раскол сократит значение на столько частей, сколько может, используя второе значение, которое вы можете ограничить, сколько штук вы получите. Использование ex.split(',', 2)
даст вам:
["test1", "test2, test3, test4, test5"]
как массив, а не:
["test1", "test2", "test3", "test4", "test5"]
Поскольку у вас есть массив, то вы действительно хотите Array#slice
, а не split
.
rest = ex.slice(1 .. -1)
# or
rest = ex[1 .. -1]
Вероятно, вы ошиблись. Из того, что я собираю, вы начинаете с строки, например:
string = "test1, test2, test3, test4, test5"
Затем вы хотите разбить его, чтобы сохранить только значимые подстроки:
array = string.split(/, /)
И в конце вам нужны только все элементы, исключающие первый:
# 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
Это ответ на ваш вопрос?
ex="test1,test2,test3,test4,test5"
all_but_first=ex.split(/,/)[1..-1]
Простите немного поздно вечеринке и немного удивил, что никто не упомянул метод drop:
ex="test1, test2, test3, test4, test5"
ex.split(",").drop(1).join(",")
=> "test2,test3,test4,test5"
если вы хотите использовать их в качестве массива u, который уже знал, иначе вы можете использовать каждый из них в качестве другого параметра... попробуйте следующее:
parameter1,parameter2,parameter3,parameter4,parameter5 = ex.split(",")
Вы также можете сделать это:
String is ex="test1, test2, test3, test4, test5"
array = ex.split(/,/)
array.size.times do |i|
p array[i]
end