Я изо всех сил пытаюсь найти лучшее решение для извлечения нескольких URL из (очень длинной) строки.
Вот пример текста:
miserie <- "some text /Home/123/home-name/Specs some other text http://www.example.com/Specs some other text /Home/456/home-name/Specs"
Редактировать : Обновленный пример:
miserie <- "/Home/homes?query=123 qdf /Home/123/home-name/Specs , homeurl : http://www.example.com/ },{ id :1, y : 02 , p :false, url : /Home/456/home-name/Specs"
Это результат, который я хочу:
[1] "/Home/123/home-name/Specs"
[2] "/Home/456/home-name/Specs"
По сути, мне нужно решение solid, которое извлекает все пути, начинающиеся с "/ Home «и заканчиваем» /Specs".
Я пробовал следующий шаблон:
pat <- ".*(/Home/.*/Specs).*"
И следующие функции:
str_match_all(miserie,pat)
gsub(x=miserie, pattern=pat, replace="\\1")
Первый вернул это результат:
[[1]]
[,1]
[1,] "some text /Home/123/home-name/Specs some other text http://www.example.com/Speccs some other text /Home/456/home-name/Specs"
[,2]
[1,] "/Home/456/home-name/Specs"
А второй вернул только последний URL:
[1] "/Home/456/home-name/Specs"
Есть предложения?