PES+PWA+PWH
我在数据框中的R中有上面的字符串,我必须编写一个脚本,如果它找到PES
,那么它会保留PES
并删除其余部分。
我只希望输出中有PES
答案 0 :(得分:1)
text <- c("hello", "PES+PWA+PWH", "world")
text[grepl("PES", text)] <- "PES"
# "hello" "PES" "world"
答案 1 :(得分:1)
R正则表达式中的分组运算符将允许删除非“PES”字符:
gsub("(.*)(PES)(.*)", "\\2", c("PES+PWA+PWH", "something else") )
#[1] "PES" "something else"
问题描述不是很清楚,因为另一位受访者非常不同地解释了您的请求
答案 2 :(得分:0)
从上面的问题我认为你的意思是你想只包含那些包含PES的行?
您可以在R中使用grep函数
column<-c("PES-PSA","PES","PWS","PWA","PES+PWA+PWH")
column[grep("PES",column)]
[1] "PES-PSA" "PES" "PES+PWA+PWH"
Grep将字符串作为第一个参数匹配,并将要匹配的矢量作为第二个参数匹配。