Я пытаюсь исключить определенные символы при использовании grep в R. Но я не могу получить результат, который я ожидаю.Почему это исключение grep не работает в R?
Вот код:
x <- c("a", "ab", "b", "abc")
grep("[^b]", x, value=T)
> [1] "a" "ab" "abc"
Я хочу, чтобы захватить что-нибудь в векторе x
, который не содержит b
. Он не должен возвращать "ab"
или "abc"
.
В конечном счете, я хочу выбрать любой элемент, содержащий "a"
, но не "b"
. Это результат, который я хотел бы ожидать:
grep("a[^b]", x, value=T)
> [1] "a"
Как я могу это сделать?
Не совсем. Это регулярное выражение отклоняет '' aa''. –
Да, это правда. Но не было задачи принять «аа», используя регулярное выражение. В любом случае, добавив «*», разрешите эту проблему. Да? Наконец, регулярное выражение должно быть: 'grep ("^[^ b] * $ ", x, value = TRUE)' – jvb
Задача состояла в том, чтобы отклонить все, что содержит «b» => в частности, принять «aa», , Я не специалист по регулярному выражению, но ваше новое предложение, похоже, работает. –