r - 在 R 中查找和替换通配符
问题描述
我需要查找数据集中的值何时出现 3 .x
(例如A1.1.1.1
)并将其替换为另一个名称(例如 B1)。我目前有这个,它适用于A1.1.1.1
但我需要它能够A1.x.x.x
在 x 是任何数字(小于 10)的情况下工作。有没有办法调整它以使其有效?
node_data$test<-str_replace(node_data$test, "A1.1.1.1", "B1")
解决方案
像这样?
ex_str <- c("A1.1.1.1", "D.1.1", "C.1.1.1", "J.2.1.3", "J.2.33.3")
str_replace(ex_str, "\\..\\..\\..", "B1")
[1] "A1B1" "D.1.1" "CB1" "JB1" "J.2.33.3"
请注意,在此示例中,每个点之后的字符不必相同,因此示例向量的第四个条目被替换。但是,被匹配的 '.xxx' 只能在每个 '.' 之后有一个字符。所以第五个条目不会被替换。
或者,以下正则表达式将每个字符串的匹配段替换为.B1.B1.B1
str_replace(ex_str, "\\..\\..\\..", ".B1.B1.B1")
[1] "A1.B1.B1.B1" "D.1.1" "C.B1.B1.B1" "J.B1.B1.B1" "J.2.33.3"
推荐阅读
- reactjs - nodejs如何在前端构建webserver以进行反应和角度的框架工作
- sql - PostGIS 查询从多边形表中选择所有多边形,该多边形表具有相交的几何图形,在传递的地理坐标列表中具有一个或多个点
- c# - 卸载完成后如何在 Wix 中执行自定义操作
- import - 扩展 HBase Put 以避免 add 方法中的原始 Row Check
- jenkins - 无法通过 Linux 包管理器安装 Jenkins
- excel - 对两列执行检查,逐列复制另一个工作表
- python - 在 Django 上使用 Plotly 创建条形图
- python - 层序的输入0与层不兼容
- c# - System.Drawing.Imaging.Encoder.Quality 文件大小奇怪地变化
- java - 调用 zxing 扫描仪后,我回到我的活动,但在一个新实例中