一开始,是的 - 这里有simillar问题,但解决方案并没有按照应有的方式运作 - 至少对我而言。
我希望在第一个分号之前删除所有字符,字母和数字,并删除它。
所以我们有一些字符串:
x <- "1;ABC;GEF2"
y <- "X;EER;3DR"
我们gsub()
.
和*
这意味着任何符号出现0或更多的符号:
gsub(".*;", "", x)
gsub(".*;", "", y)
结果我得到了:
[1] "GEF2"
[1] "3DR"
但我想要:
[1] "ABC;GEF2"
[1] "EER;3DR"
为什么它会抓住&#39;第二次出现分号而不是第一次?
答案 0 :(得分:1)
您可以使用
gsub("[^;]*;(.*)", "\\1", x)
# [1] "ABC;GEF2"