1

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

x= RPA4|RP1-117P191

我想要这个

 RPA4

拆除管道后的一切

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

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

我也一样。请问你能帮帮我吗?

提前致谢

4

1 回答 1

2

尝试这个:

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

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

您使用\\.+which 匹配字符.而不是任何字符。您还使用.+了贪婪的方法,因此您应该使用.+?直到最后才捕获所有内容。管道字符|在正则表达式中表示“或”,因此您需要转义\\|以匹配实际字符。

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

gsub("^(.+?)\\|.+", "\\1", x)
于 2013-05-23T10:43:56.323 回答