从字符串字符中删除" "(空值)

  • 本文关键字:空值 删除 字符串 字符 r
  • 更新时间 :
  • 英文 :


我已经四处寻找了几个小时,但未能从下面的字符串字符中删除"。

c("最终版本"、"A"、"7.43"、"8.50"、"15.93"one_answers"2.00","1.00"0.30"0.37"7.43"8.50"0.50"0.67",",",","7.00","1.67","3.77">

我在这个数据集中有更多的这些空值,我只想在组织成像这样的数据帧之前去掉它们

最终A B7.43 7.438.50 8.5015.93 0.502.00 0.6710.30

谢谢,

您可以将基础grepvalues = 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"

创建于2018-12-10由reprex包(v0.2.1(

最新更新