R正则表达式与保留字符匹配

时间:2013-05-23 10:41:14

标签: r regex pattern-matching

我想处理数据框的行,我在每行中都有这个模式

x= RPA4|RP1-117P191

我想要这个

 RPA4

管道移除后的所有内容

我尝试使用gsub,试图只获得比赛的第一部分

 gsub("^(\\.+)|*$", "\\1", x)

我得到了同样的结果。你能帮帮我吗?

提前致谢

1 个答案:

答案 0 :(得分:2)

试试这个:

gsub("\\|.*", "", x)

这会将|之后的所有内容替换为空字符串。

您使用了匹配字符\\.+的{​​{1}}而不是任何字符。 你也使用贪婪的.,所以你应该使用.+来捕捉所有内容直到结束。管道符.+?在正则表达式中表示“或”,因此您需要使用|进行转义以匹配实际字符。

另一种解决方案(更接近你的尝试)可能是:

\\|