首页 > 解决方案 > R:如何操作文本文件数据以擦除特定行

问题描述

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

我想操纵数据文件只留下这样的数字条目:0、-0.5、0

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

标签: r

解决方案


使用正则表达式。给定一个文本对象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

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


推荐阅读