У меня есть строка strEx <- "list(A, B, C, D)"
, что я хотел бы сохранить как вектор символов:R - строка манипуляции и извлечение
[1] "A" "B" "C" "D"
Я не очень хорошо на регулярных выражениях (может быть излишним, как хорошо, но я буду нужно больше этого в будущем), что, вероятно, является частью моей проблемы. У меня есть решение, которое я чувствую, слишком много кода/плохой формы.
Это дает мне то, что я хочу в конце, но мне все же нужно разбить его на запятые и сгладить. Я просто чувствую, что это слишком грубое средство. У кого-нибудь есть более красивое решение?
d <- gsub(".*\\((.*)\\).*", "\\1", strEx)
d1 <- unlist(tstrsplit(d, ", ", type.convert = TRUE, fixed = TRUE))
Таким образом, в реальном случае, у вас есть некоторый буквальный текст вокруг разделенных запятыми значений? –
Попробуйте 'res <- str_match_all (strEx," (?: List \\ (\\ s * | (?! ^) \\ G,? \\ s *) ([^,)] +) ")' с 'библиотека (stringr)'. Тем не менее, ваш подход уже очень хорош. –
@ WiktorStribiżew В реальном случае это может быть текст (A, B, C, D, ..., k). Всегда только один блок(), закрытие) может быть последним символом в строке или может и не быть. – ErrantBard