在两个“|”

时间:2017-12-06 10:51:44

标签: regex subset

在R中,我有一个这样的数据框:

df:

Col.1	Col.2
Apple	ab1|cd2|ef3
Pear	NULL
Peach	mn7|op8|qr9

我正在尝试在“|”之间提取字符串。如果为NULL,则应显示“NULL”(或等效表达式),获取:

df2:

Col.1	Col.2
Apple	cd2
Pear	NULL
Peach	op8
对我来说这似乎是一个非常简单的操作,但我对正则表达式有一些问题。我想像这样的东西应该有效:

sub_df <- gsub("(^.+|)("some expression for string bw |" )(|.+$)", "\2", df$Col.2)

如果我理解正确,这应该将Col.2中的每个字符串分成三部分,并保留“第2部分”。那是对的吗?以及如何翻译“字符串bw的某些表达式”?

非常感谢你的帮助。

0 个答案:

没有答案