正则表达式 – 如何替换r中列中字符串的第n个字符

前端之家收集整理的这篇文章主要介绍了正则表达式 – 如何替换r中列中字符串的第n个字符前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我的意见是

a<-c("aa_bbb_cc_ddd","ee_fff_gg_hhh")
b<-c("a","b")
df<-data.frame(cbind(a,b))

我想要我的输出

a<-c("aa_bbb-cc_ddd","ee_fff-gg_hhh")
b<-c("a",b))

请帮忙

解决方法

你可以用sub,

sub("^([^_]*_[^_]*)_","\\1-",df$a)

例:

> a<-c("aa_bbb_cc_ddd","ee_fff_gg_hhh")
> b<-c("a","b")
> df<-data.frame(cbind(a,b))
> df
              a b
1 aa_bbb_cc_ddd a
2 ee_fff_gg_hhh b
> df$a <- sub("^([^_]*_[^_]*)_",df$a)
> df
              a b
1 aa_bbb-cc_ddd a
2 ee_fff-gg_hhh b

猜你在找的正则表达式相关文章