R:如何处理文本文件数据以擦除特定行

时间:2019-02-28 23:01:46

标签: r

我有一个文本文件,其中包含如下数据行: fSumw [0] = 0,x = -0.5,错误= 0

我想操纵数据文件以仅保留数字条目,如下所示: 0,-0.5、0

在R中解决此问题的最佳方法是什么? 谢谢您阅读

1 个答案:

答案 0 :(得分:1)

使用正则表达式。给定文本对象txt,请执行以下操作:

txt <- 'fSumw[0] = 0, x=-0.5, error=0'
regmatches(txt, gregexpr('(?<==)\\s*-*\\d+\\.*\\d*', txt, perl = TRUE))

输出:

[[1]]
[1] " 0"   "-0.5" "0"

gregexpr函数返回与指定模式匹配的任何字符串的位置(作为正则表达式),regmatches通过在txt对象中搜索位置来返回这些匹配项。 / p>

有关正则表达式的更多指南,您可以下载备忘单: https://www.rstudio.com/wp-content/uploads/2016/09/RegExCheatsheet.pdf