У меня есть строка s
, где "подстроки" разделены вертикальной чертой. Подстроки могут содержать или не содержать числа. И у меня есть тестовая строка символов n
, которая содержит число и может содержать или не содержать буквы. См. пример ниже. Обратите внимание, что интервал может быть любым.
Я пытаюсь удалить все подстроки, где n
не находится в диапазоне или не является точным совпадением. Я понимаю, что мне нужно разделить на -
, преобразовать в числа и сравнить низкий/высокий уровень с n
, преобразованным в числовой. Вот моя отправная точка, но затем я застрял с получением окончательной хорошей строки из unl_new
.
s = "liquid & bar soap 1.0 - 2.0oz | bar 2- 5.0 oz | liquid soap 1-2oz | dish 1.5oz"
n = "1.5oz"
unl = unlist(strsplit(s,"\\|"))
unl_new = (strsplit(unl,"-"))
unl_new = unlist(gsub("[a-zA-Z]","",unl_new))
Желаемый результат:
"liquid & bar soap 1.0 - 2.0oz | liquid soap 1-2oz | dish 1.5oz"
Я полностью на неправильном пути? Спасибо!