r - 返回两个字符 '.' 之间的字符串
问题描述
我有类似于以下的列名
names(df_woe)
# [1] "A_FLAG" "woe.ABCD.binned" "woe.EFGHIJ.binned"
...
我想通过删除“woe”来重命名这些列。和“.binned”部分,以便返回以下内容
names(df_woe)
# [1] "A_FLAG" "ABCD" "EFGHIJ"
...
我已经尝试过substr(names(df_woe), start, stop)
,但我不确定如何设置变量启动/停止参数。
解决方案
另一种可能且可读的正则表达式可以是创建组并在第一个点之后和第二个点之前返回组,即
gsub("(.*\\.)(.*)\\..+", "\\2", names(df_woe))
#[1] "A_FLAG" "ABCD" "EFGH"
推荐阅读
- mysql - 如何在mysql-connector中使用游标以及何时关闭连接
- python - pandas:astype(float) 不将字符串转换为浮点类型
- python - Pandas 使用列名检查行列表值
- c++ - 为什么我在主程序中收到错误消息:没有构造函数实例与参数列表匹配?
- python-3.x - 来自 azure.storage.blob 的 python 方法 get_service_stats 的问题
- c# - 在 .Net Core 中记录对象或实体时,记录器会在对象图中循环
- php - 我可以使用什么 SQL 查询将另一个表中的多行与第一个表结合起来?
- windows - robocopy 使用 secfix 修复仅子目录的权限,不包括根目录
- php - 如何在php中获得实时余额
- git - git 输出为空白,除非捕获如下: echo "$(git branch)"