我已经环顾了几个小时,无法从下面的字符串字符中删除“”。
c(“最终”,“ A”,“ 7.43”,“ 8.50”,“ 15.93”,“ 2.00”, “ 1.00”,“ 0.30”,“ 0.37”,“ 7.43”,“ 8.50”,“ 0.50”,“ 0.67”,“”, “”,“”,“”,“”,“”,“”,“ B”,“ 7.00”,“ 3.77”,“ 10.77”, “ 7.00”,“ 1.67”,“ 3.77”,“”,“”,“”,“”,“”,“”,“”,“”,
在此数据集中,我还有更多这些空值,只是想在组织起来作为
之类的数据框之前摆脱它们最终 乙 7.43 7.43 8.50 8.50 15.93 0.50 2.00 0.67 1.00 0.30
谢谢
答案 0 :(得分:0)
您可以将基础grep
与values = TRUE
一起使用。它将在字符向量中搜索给定的正则表达式模式,并返回找到该模式的所有值。
您可以通过几种方式考虑模式的逻辑。可能有人会认为它是用“单词”字符(即字母,数字或下划线)保留值。
x <- c("Final", "A", "7.43", "8.50", "15.93", "2.00", "1.00", "0.30", "0.37", " 7.43", " 8.50", "0.50", "0.67", " ", " ", " ", " ", " ", " ", " ", "B", "7.00", "3.77", "10.77", " 7.00", "1.67", "3.77", " ", " ", " ", " ", " ", " ", " ", " ")
grep("\\w", x, value = T)
#> [1] "Final" "A" "7.43" "8.50" "15.93" "2.00" "1.00" "0.30"
#> [9] "0.37" " 7.43" " 8.50" "0.50" "0.67" "B" "7.00" "3.77"
#> [17] "10.77" " 7.00" "1.67" "3.77"
另一种方法是查找带有不是空格的字符(\\S
是\\s
的取反)的值:
grep("\\S", x, value = T)
#> [1] "Final" "A" "7.43" "8.50" "15.93" "2.00" "1.00" "0.30"
#> [9] "0.37" " 7.43" " 8.50" "0.50" "0.67" "B" "7.00" "3.77"
#> [17] "10.77" " 7.00" "1.67" "3.77"
由reprex package(v0.2.1)于2018-12-10创建