Я пытаюсь удалить символы / числа между скобками. Во-первых, пронумерованные круглые скобки - т.е. ("(3)") - в начале, а затем что-либо во второй паре круглых скобок. Иногда у этой второй пары круглых скобок есть непревзойденная скобка, что усложняет ситуацию. Пример:

library(qdapRegex)
n <- c("(1) Apple (Pe(ar)", "(2) Apple (Or(ang)e)", "(3) Banana (Hot(dog)")
c <- rm_between(n,"(",")", extract = TRUE)

В идеале получить:

c
> "Apple" "Apple" "Banana" 
2
squishy 23 Окт 2018 в 17:41

2 ответа

Лучший ответ

Кажется, что всегда нужно второе слово. Если это так, то вот несколько (простых) способов сделать это:

#Base R
sapply(strsplit(n, ' '), `[`, 2)
[1] "Apple"  "Apple"  "Banana"

#The always fun, word() from stringr package
stringr::word(n, 2)
[1] "Apple"  "Apple"  "Banana"
3
Josh O'Brien 23 Окт 2018 в 16:03

Если вы хотите использовать регулярное выражение, вы можете использовать заменяющее регулярное выражение с пустой строкой, например:

[^A-Za-z ]

Или с нечувствительным флагом

(?i)[^a-z ]

Демо Regex

0
Federico Piazza 23 Окт 2018 в 15:01
52951809