首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用字符串移除R中字符串的特定部分

用字符串移除R中字符串的特定部分
EN

Stack Overflow用户
提问于 2021-12-07 15:06:43
回答 2查看 1.4K关注 0票数 1

目前,我正在编写一个项目,在该项目中,必须在该项目之前和之后删除部分字符串。我在底部附了一个例子,我只能使用包字符串、tidyverse和dplyr。不同的例子有不同的长度,但我只需要保留"r1“部分或"r2”。对于96个不同的例子,有r1-4。有人能帮我只保留这部分变量吗。所以我有一个变量,只包含r1,r2,r3和r4。

代码语言:javascript
复制
[19] "data/r1-23-8-312.json"    "data/r1-23-8-66.json"     "data/r1-23-8-68.json"    
[22] "data/r1-23-8-85.json"     "data/r1-23-8-88.json"     "data/r2-65-12-200.json"  
[25] "data/r2-65-12-202.json"   "data/r2-65-12-214.json"   "data/r2-65-12-215.json"  

class(dat2$route)
[1] "character"

我已经知道了,我可以使用“substr(dat2$dat2,6,7)",但是如果我这样使用它:

代码语言:javascript
复制
dat2 <- substr(dat2$route, 6, 7)

它移除除了路由之外的所有其他变量,这是怎么回事?还有其他11个变量。

EN

回答 2

Stack Overflow用户

发布于 2021-12-07 15:11:15

有几种方法。如果你的角色总是以数据开头/你可以

代码语言:javascript
复制
library(tidyverse)
dat2 %>%
  mutate(new_route = str_sub(route, start = 6L, end = 7L))

其他选项是提取'r‘后面跟着一个数字,或者删除数据/部件以及rX部件之后的内容。有很多选择。

票数 0
EN

Stack Overflow用户

发布于 2021-12-07 15:11:36

代码语言:javascript
复制
library(stringr)
str_extract(dat2$route, pattern = "r[0-9]")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70262484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档