У меня есть строка:Как удалить часть строки CSV с помощью Ruby?
"116,118,120,130"
и хотите удалить либо первую, последнюю или любое значение между после выполнения.
Для этого я использовал:
"116,118,120,130".gsub('118','')
, но проблема в том, строка содержит дополнительный unnessesary запятой:
"116,,120,130"
и если я использую
"116,118,120,130".gsub(',116','')
это будет удалите запятую, но тогда не будет соответствовать «116» в строке, поскольку нет запятой перед «116»
Как я могу соответствовать частям моей строки, которые могут или у меня нет запятой перед значением, которое я удаляю элегантно?
Спасибо,
+1 csv стандартной библиотеки Это, вероятно, самый простой способ сделать это. Разделите строку в массив (разбивая запятые), затем удалите все, что вам не нужно, затем снова соберите массив в строку с разделителями-запятыми. Хотя, вероятно, можно сделать то же самое с 'gsub' или аналогичным образом, этот метод кажется гораздо менее подверженным ошибкам. – bta