私は文字ベクトルとして保存したい文字列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、"(?:リスト\\(\\ s *)(?!^)\\ G、?\\ s *)([^、)] +) ")' 'ライブラリ(stringr)'しかし、あなたのアプローチは既にとても良いです。 –
@WiktorStribiżew実際の場合、テキスト(A、B、C、D、...、k)のテキストである可能性があります。文字列の最後の文字は常に1つのブロックof()、終了文字のみであってもよく、そうでなくてもよい。 – ErrantBard