Проблема
Что говорит заголовок, в основном.Учитывая строку, мне нужно извлечь из нее все, что является , а не начальным числом, за которым следует пробел.Итак, учитывая эту строку
"420 species of grass"
Я хотел бы получить
"species of grass"
Но, учитывая строку с номером не в начале, например
"The clock says it is 420"
или строка с номером без пробела, например
"It is 420 already"
Я хотел бы получить ту же строку с сохраненным номером
"The clock says it is 420"
"It is 420 already"
Что япробовал
Соответствие начального числа, за которым следует пробел, работает, как и ожидалось:
library(stringr)
str_extract_all("420 species of grass", "^\\d+(?=\\s)")
[[1]]
[1] "420"
> str_extract_all("The clock says it is 420", "^\\d+(?=\\s)")
[[1]]
character(0)
> str_extract_all("It is 420 already", "^\\d+(?=\\s)")
[[1]]
character(0)
Но, когда я пытаюсь сопоставить с чем угодно, кроме за начальным числом следует пробел, но не:
> str_extract_all("420 species of grass", "[^(^\\d+(?=\\s))]+")
[[1]]
[1] "species" "of" "grass"
> str_extract_all("The clock says it is 420", "[^(^\\d+(?=\\s))]+")
[[1]]
[1] "The" "clock" "says" "it" "is"
> str_extract_all("It is 420 already", "[^(^\\d+(?=\\s))]+")
[[1]]
[1] "It" "is" "already"
Кажется, это регулярное выражение соответствует чему угодно, кроме цифр и пробелов.
Как исправитьэто?