r - R:如何操作文本文件数据以擦除特定行
问题描述
我有一个包含如下数据行的文本文件: fSumw[0] = 0, x=-0.5, error=0
我想操纵数据文件只留下这样的数字条目:0、-0.5、0
在 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
推荐阅读
- r - 用于从二进制向量返回最大数量的连续 1 的 R 或 Python 代码
- linux - Cassandra 集群 - 生产 (Vwmare)
- heroku - Heroku - 访问错误 - 如何选择应用程序
- powerbi - DAX 选择并显示所有选定记录的最大值
- java - CMD Java 输出包括打印语句下的文件路径
- javascript - Javascript删除具有相同值的数组
- javascript - 如何在段落中四舍五入到最接近的小数?
- python - 基于两个列范围值在python中创建逗号分隔列
- python - 理解 .git-ci 实验室文件
- math - 计算多边形的空白空间