2

这是我的数据:

x <- 'aaaaa,"bbb",ccccc,"dddd",abcd"dddd"'

如何删除"bbb""dddd""dddd"

所以我可以得到:

"aaaaa","ccccc","abcd"

谢谢!

4

2 回答 2

3

我们可以使用gsub匹配双引号 ( ") 后跟一个或多个不是双引号 ( [^"]+) 的字符后跟双引号 ( ") 和,如果存在并替换为空白 ( "")的模式

gsub('"[^"]+",?', "", txt)
[1] "aaaaa,ccccc,abcd"

如果我们需要保持,中间

gsub('"[^"]+"', "", txt)
[1] "aaaaa,,ccccc,,abcd"

数据

txt <- 'aaaaa,"bbb",ccccc,"dddd",abcd"dddd"'
于 2021-09-11T21:44:41.800 回答
1

您可以删除带有双引号的单词。

gsub('"\\w+",?', '', x)
#[1] "aaaaa,ccccc,abcd"

如果您希望它们作为单词的向量-

strsplit(gsub('"\\w+",?', '', x), ',')[[1]]
#[1] "aaaaa" "ccccc" "abcd" 
于 2021-09-12T06:13:13.273 回答