如何删除符合R中确切条件的字符串中的字符

问题描述 投票:0回答:4

我有一个各种字符串的向量,我想删除一个满足某种条件的组件。例如来自2012/EPS.WCR.PL6.NORM.0089我想删除/ EPS。

我尝试过使用gsub,但是所有的P都被删除了。我想保留任何其他字符,如/,E,P,S单独,但如果它以这种确切的方式出现,则想要删除/ EPS。我想对矢量的每个元素说V,包含所有字符串。

提前致谢。

r string
4个回答
1
投票

试试这个:

term <- '2012/EPS.WCR.PL6.NORM.0089'

gsub(pattern = '/EPS', x = term, replacement = "")

输出:

> gsub(pattern = '/EPS', x = term, replacement = "")
[1] "2012.WCR.PL6.NORM.0089"

1
投票

我不知道你的代码出了什么问题,你从未向我们展示过,但sub应该在这里工作:

x <- "2012/EPS.WCR.PL6.NORM.0089"
sub("/EPS", "", x)

[1] "2012.WCR.PL6.NORM.0089"

我也不知道你的确切替换逻辑是什么,例如应该替换/EPS的条件是什么。根据这一点,上述模式可能必须改变。


0
投票

我们可以使用sub来匹配模式/EPS并将其替换为空白(""

sub("/EPS", "", V)
#[1] "2012.WCR.PL6.NORM.0089"

data

V <- "2012/EPS.WCR.PL6.NORM.0089"

0
投票

stringr解决方案:

stringr::str_remove_all(string,"/EPS")
[1] "2012.WCR.PL6.NORM.0089"
© www.soinside.com 2019 - 2024. All rights reserved.