Я все еще новичок в R и регулярных выражениях, но я пытаюсь добиться следующего;Предположим, у меня есть таблица данных следующего вида:
Title | URL
stackoverflow.com | https://stackoverflow.com
google.com | http://
youtube.com | https://youtube.com
overclock.net | https://
Я хочу добавить ячейки в столбце URL
с соответствующим значением в столбце Title
, в случае, если URL
состоит только изhttp://
или https://
, поэтому желаемый результат будет выглядеть следующим образом:
Title | URL
stackoverflow.com | https://stackoverflow.com
google.com | http://google.com
youtube.com | https://youtube.com
overclock.net | https://overclock.net
Для этого я попытался использовать функцию sub
в сочетании с регулярным выражением предпросмотра следующим образом:
dt$URL <- sub("(?:^|\\W)https?://(?:$|\\W)", "\\1", dt$Title, perl = TRUE)
или
dt$URL <- sub("\\s(https?://)", "\\1", dt$Title, perl = TRUE)
или
dt$URL <- sub("\\b(https?://\\b)", "\\1", dt$Title, perl = TRUE)
Но ничего из вышеперечисленного не даетжелаемый вывод.Проблема в том, что он вообще ничего не добавляет / не заменяет, возможно, потому что регулярное выражение ничего не совпадает или также совпадает, если имеется больше данных, чем просто http: // или https: // present, т.е.также совпадают по полному доменному имени (которое я не хочу)Как мне настроить свой код так, чтобы он выдавал желаемый результат, учитывая приведенный выше пример ввода?
Спасибо!