Я бы предложил несколько более сложное регулярное выражение для URL, чем в другом ответе, чтобы быть более устойчивым к различным типам URL.
Если вы привыкли использовать инструменты Tidyverse в других местах вашего рабочего процесса, используйте функцию str_remove_all()
из stringr . Эта функция векторизована, поэтому вы можете передать ей вектор текста.
example <- c("At https://www.google.com/ you can google questions!",
"Come to https://www.stackoverflow.com/ for R answers",
"How many repos are there at https://www.stackoverflow.com/?")
library(stringr)
url_regex <- "http[s]?://(?:[a-zA-Z]|[0-9]|[$-_@.&+]|[!*\\(\\),]|(?:%[0-9a-fA-F][0-9a-fA-F]))+"
str_remove_all(example, url_regex)
#> [1] "At you can google questions!" "Come to for R answers"
#> [3] "How many repos are there at "
Если вы поместите свой текст в фрейм данных, вы также можете использовать str_remove_all()
простым способом:
library(dplyr)
tibble(example) %>%
mutate(cleaned = str_remove_all(example, url_regex))
#> # A tibble: 3 x 2
#> example cleaned
#> <chr> <chr>
#> 1 At https://www.google.com/ you can google quest… At you can google ques…
#> 2 Come to https://www.stackoverflow.com/ for R an… Come to for R answers
#> 3 How many repos are there at https://www.stackov… "How many repos are the…
Создано в 2019-07-10 пакетом Представление (v0.3.0)