如何替换空字符串?
此:
x = c("","b")
gsub("","taco",x)
产生:
"taco" "tacobtaco"
而不是:
"taco" "b"
有没有办法替换空字符串?
答案 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)