我该怎么做一个空的"" R中的字符串?

时间:2014-03-21 17:08:08

标签: r gsub

如何替换空字符串?

此:

x = c("","b")
gsub("","taco",x)

产生:

"taco"      "tacobtaco"

而不是:

"taco"      "b"

有没有办法替换空字符串?

3 个答案:

答案 0 :(得分:12)

我会在这里使用nchar

 x[nchar(x)==0] <- "taco"

修改

如果您正在寻找性能,那么您应该使用nzchar:

x[!nzchar(x)] <- "taco"

答案 1 :(得分:4)

我不会在这里使用gsub - 在语义上,我认为gsub替换字符串中的部分。为了替换整个字符串,我只使用子集。由于您正在搜索固定字符串(''),因此它甚至不需要正则表达式:

x[x == ''] = 'taco'

(当然这会重新分配原始向量x,而gsub只返回修改后的结果。)

答案 2 :(得分:3)

x = c("","b")
gsub("^$","taco",x)