Вот один подход с использованием библиотеки qdapRegex
:
library(qdapRegex)
data[["url"]] <- unlist(rm_url(data[["Content"]], extract=TRUE))
data
## Content date url
## 1 a house a home https://www.foo.com 12/31/2013 https://www.foo.com
## 2 cabin ideas https://www.example.com in the woods 5/4/2013 https://www.example.com
## 3 motel is a hotel 1/4/2013 <NA>
Чтобы увидеть регулярное выражение, используемое функцией (поскольку qdapRegex
имеет целью помочь проанализировать и обучить регулярные выражения), вы можете использовать grab
с именем функции с префиксом @
:
grab("@rm_url")
## [1] "(http[^ ]*)|(ftp[^ ]*)|(www\\.[^ ]*)"
grepl
сообщает логический вывод да, эта строка содержит или нет. grep
сообщает вам индексы или дает значения, но значения представляют собой целую гайку нужной подстроки.
Итак, чтобы передать это регулярное выражение вдоль базы или пакета stringi (qdapRegex обертывает stingi для извлечения), вы мог бы сделать:
regmatches(data[["Content"]], gregexpr(grab("@rm_url"), data[["Content"]], perl = TRUE))
library(stringi)
stri_extract(data[["Content"]], regex=grab("@rm_url"))
Я уверен, что есть подход stringr, но я не знаком с этим пакетом.
У меня была эта та же ошибка, я имел поле ввода, названное control
в моем пользовательском Компоненте Формы, но случайно передавал управление во входе, названном formControl
. Надежда никто не сталкивается с той проблемой.
Я сталкивался с этой ошибкой при выполнении случаев Модульного теста Кармы, Добавляющих , MatSelectModule в импорте фиксирует выпуск
imports: [
HttpClientTestingModule,
FormsModule,
MatTableModule,
MatSelectModule,
NoopAnimationsModule
],