У меня есть строка s
, где «подстроки» делятся на трубу. Подстроки могут содержать или не содержать числа. И у меня есть тестовая строка символов n
, которая содержит число и может содержать или не содержать буквы. См. Пример ниже. Обратите внимание, что расстояние может быть любымR: найдите, если номер находится в пределах диапазона в символьной строке
Я пытаюсь сбросить все подстроки, где n
не находится в диапазоне или не является точным соответствием. Я понимаю, что мне нужно разделить на -
, преобразовать в числа и сравнить low/high с 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"
Могу ли я полностью на ложном пути? Благодаря!
Спасибо! Это работает!! –