如何根据字符数或字符串长度从字符串向量中删除元素?
df <- c("asdf","fweafewwf","af","","","aewfawefwef","awefWEfawefawef")
> df
[1] "asdf" "fweafewwf" "af" "" "" "aewfawefwef" "awefWEfawefawef"
例如,我可能想要删除长度小于5的df
的所有元素,因此输出将为:
> df
[1]"fweafewwf" "aewfawefwef" "awefWEfawefawef"
谢谢!
答案 0 :(得分:7)
只需使用nchar
:
> df[nchar(df) > 5]
[1] "fweafewwf" "aewfawefwef" "awefWEfawefawef"
答案 1 :(得分:1)
由于nchar
对NA&#39>起作用很奇怪:
nchar(NA)
## [1] 2
我建议使用stri_length
包
stringi
功能
require(stringi)
df[stri_length(df)>5]