Так что, если я правильно понимаю, вы хотите извлечь элементы в скобках.
Вы можете сначала извлечь эти элементы, включая скобки, используя str_extract_all
:
b1 <- str_extract_all(string = a, pattern = "\\(.*?\\)")
b1
# [[1]]
# [1] "(37)" "(\"Person10\")"
Поскольку str_extract_all
возвращает список, давайте превратим его в вектор:
b2 <- unlist(b1)
b2
# [1] "(37)" "(\"Person10\")"
Наконец, вы можете удалить круглые скобки (первый и последний символ каждой строки), используя str_sub
:
b3 <- str_sub(string = b2, start = 2L, end = -2L)
b3
# [1] "37" "\"Person10\""
Редактировать: Несколько комментариев о шаблоне регулярных выражений: \\(
и \\)
- ваши открывающая и закрывающая скобки. .*?
означает любую строку символов, но без жадности, в противном случае вы получите одно длинное совпадение от первого (
до последнего )
.