删除特定符号(包括它)之前的字符串中的字符
Remove characters in string before specific symbol(including it)
一开始,是的 - 此处存在类似的问题,但解决方案并不像它应该的那样工作 - 至少对我而言。
我想删除第一个分号之前的所有字符、字母和数字的任意组合,并且也将其删除。
所以我们有一些字符串:
x <- "1;ABC;GEF2"
y <- "X;EER;3DR"
让我们用 .
和 *
这样做 gsub()
,这意味着出现次数为 0 或更多的任何符号:
gsub(".*;", "", x)
gsub(".*;", "", y)
结果我得到:
[1] "GEF2"
[1] "3DR"
但我想要:
[1] "ABC;GEF2"
[1] "EER;3DR"
为什么 'catch' 第二次出现分号而不是第一次出现?
你可以使用
gsub("[^;]*;(.*)", "\1", x)
# [1] "ABC;GEF2"
一开始,是的 - 此处存在类似的问题,但解决方案并不像它应该的那样工作 - 至少对我而言。
我想删除第一个分号之前的所有字符、字母和数字的任意组合,并且也将其删除。
所以我们有一些字符串:
x <- "1;ABC;GEF2"
y <- "X;EER;3DR"
让我们用 .
和 *
这样做 gsub()
,这意味着出现次数为 0 或更多的任何符号:
gsub(".*;", "", x)
gsub(".*;", "", y)
结果我得到:
[1] "GEF2"
[1] "3DR"
但我想要:
[1] "ABC;GEF2"
[1] "EER;3DR"
为什么 'catch' 第二次出现分号而不是第一次出现?
你可以使用
gsub("[^;]*;(.*)", "\1", x)
# [1] "ABC;GEF2"