我有一个文本文件,其中包含如下数据行: fSumw [0] = 0,x = -0.5,错误= 0
我想操纵数据文件以仅保留数字条目,如下所示: 0,-0.5、0
在R中解决此问题的最佳方法是什么? 谢谢您阅读
答案 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