首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何改变R中下划线前后的词序

如何改变R中下划线前后的词序
EN

Stack Overflow用户
提问于 2021-10-30 20:24:54
回答 3查看 85关注 0票数 0

如何改变下划线前后的单词顺序

例如

wor_hello

  • hi_everyone
  1. hello_wor -> -> everyone_hi
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-10-30 20:35:21

我们可以这样做:

代码语言:javascript
复制
sub("(.*)_(.*)", "\\2_\\1", str1)
代码语言:javascript
复制
[1] "wor_hello"   "everyone_hi"
票数 2
EN

Stack Overflow用户

发布于 2021-10-30 20:25:47

我们可以使用regex来实现这一点,即捕获单词((\\w+)),在_之前和之后,以及在替换中重新排列反向引用。

代码语言:javascript
复制
sub("^(\\w+)_(\\w+)$", "\\2_\\1", str1)
[1] "wor_hello"   "everyone_hi"

数据

代码语言:javascript
复制
str1 <- c("hello_wor", "hi_everyone")
票数 2
EN

Stack Overflow用户

发布于 2021-10-30 20:59:44

使用tidyverse方法:

代码语言:javascript
复制
library(tidyverse)

words <- c("Peter_Gabriel", "Tina_Turner")

map_chr(words, ~ str_extract_all(.x, "\\w+(?=_)|(?<=_)\\w+") 
    %>% flatten %>% rev %>% paste0(collapse = "_"))

#> [1] "Gabriel_Peter" "Turner_Tina"
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69781882

复制
相关文章

相似问题

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