首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何用破折号替换列中的第一个下划线,用空格替换第二个下划线

如何用破折号替换列中的第一个下划线,用空格替换第二个下划线
EN

Stack Overflow用户
提问于 2022-04-26 02:02:18
回答 1查看 69关注 0票数 0

我用这一行和列来一个数据框架。

代码语言:javascript
代码运行次数:0
运行
复制
Phascolarctobacterium_Lachnoclostridium_Non  0.371  -0.78   -21.908*    1.675
Intestinibacter_Phascolarctobacterium_cop   -0.84   -0.316  -16.871**   -2.101**
Sutterella_Subdoligranulum_Non              -20.593 3.658   1.258   -16.285***

顺便说一句,我想要下一种格式的第一行:

  • 第一个下划线替换为破折号
  • ,第二个下划线在第一个单词开头用空格
  • get*替换,在第二个
  • 末尾用“非”

F 210替换"Non“。

如下所示:

代码语言:javascript
代码运行次数:0
运行
复制
*Phascolarctobacterium-Lachnoclostridium* non    0.371  -0.78   -21.908*    1.675
*Intestinibacter-Phascolarctobacterium* cop -0.84   -0.316  -16.871**   -2.101**
*SutterellaSubdoligranulum* non             -20.593 3.658   1.258   -16.285***
EN

回答 1

Stack Overflow用户

发布于 2022-04-26 02:11:55

代码语言:javascript
代码运行次数:0
运行
复制
df[,1]<-sub("([^_]+)_([^_]+)_(Non)?", "*\\1-\\2* \\L\\3", df[, 1], perl=TRUE)

结果:

代码语言:javascript
代码运行次数:0
运行
复制
df
                                             V1      V2     V3        V4         V5
1 *Phascolarctobacterium-Lachnoclostridium* non   0.371 -0.780  -21.908*      1.675
2   *Intestinibacter-Phascolarctobacterium* cop  -0.840 -0.316 -16.871**   -2.101**
3              *Sutterella-Subdoligranulum* non -20.593  3.658     1.258 -16.285***
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72007571

复制
相关文章

相似问题

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