我想从矢量中的字符串中删除特定字符,类似于Excel中的查找和替换功能。
以下是我开始使用的数据:
group <- data.frame(c("12357e", "12575e", "197e18", "e18947")
我从第一列开始;我想通过删除e
来生成第二列:
group group.no.e
12357e 12357
12575e 12575
197e18 19718
e18947 18947
发布于 2012-08-13 22:29:47
使用正则表达式和函数gsub()
group <- c("12357e", "12575e", "197e18", "e18947")
group
[1] "12357e" "12575e" "197e18" "e18947"
gsub("e", "", group)
[1] "12357" "12575" "19718" "18947"
gsub
在这里所做的是用一个空字符串""
替换每次出现的"e"
。
有关更多帮助,请参阅?regexp
或gsub
。
发布于 2012-08-13 22:30:28
正则表达式是您的朋友:
R> ## also adds missing ')' and sets column name
R> group<-data.frame(group=c("12357e", "12575e", "197e18", "e18947")) )
R> group
group
1 12357e
2 12575e
3 197e18
4 e18947
现在使用具有最简单替换模式的gsub()
:空字符串:
R> group$groupNoE <- gsub("e", "", group$group)
R> group
group groupNoE
1 12357e 12357
2 12575e 12575
3 197e18 19718
4 e18947 18947
R>
发布于 2015-08-04 22:11:31
总结两种替换字符串的方法:
group<-data.frame(group=c("12357e", "12575e", "197e18", "e18947"))
1)使用gsub
group$group.no.e <- gsub("e", "", group$group)
2)使用stringr
包
group$group.no.e <- str_replace_all(group$group, "e", "")
两者都将产生所需的输出:
group group.no.e
1 12357e 12357
2 12575e 12575
3 197e18 19718
4 e18947 18947
https://stackoverflow.com/questions/11936339
复制相似问题