在特定符号(包括它)之前删除字符串中的字符

时间:2017-11-08 09:06:46

标签: r regex gsub

一开始,是的 - 这里有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;第二次出现分号而不是第一次?

1 个答案:

答案 0 :(得分:1)

您可以使用

gsub("[^;]*;(.*)", "\\1", x)
# [1] "ABC;GEF2"