Может быть что-то вроде следующего.
x <- "[{'id': 16, 'name': 'Soccer'}, {'id': 35, 'name': 'Basketball'}, {'id': 10751, 'name': 'Boxing'}]"
g <- gregexpr("[[:alpha:]]+", x)
y <- unlist(regmatches(x, g))
y[y != "id" & y != "name"]
#[1] "Soccer" "Basketball" "Boxing"
Другая возможность для этой последней инструкции - использовать %in%
.
y[!y %in% c("id", "name")]
#[1] "Soccer" "Basketball" "Boxing"
Таким образом, вы можете иметь вектор нежелательных строк, например c("id", "name")
, и избежать длинного соединения &
.