如何在“-”之后抓取某些字符?

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

假设我在tbl中有一个“选项代码”列,数据是这样的:

m1803-C-2550
m1807-P-3050

我想在“-”作为我的新变量“期权类型”和第二个“-”之后的2550/3050之间获得C / P,作为我的新变量“行使价”。

如何用tidyverse编码?

现在,我可以通过以下方式解决第一个问题:>

tbl %>% mutate(option_type = str_sub(option_code, str_locate(option_code, "[CP]"))

但是我无法解决我的第二个问题,否则你们可能有一种优雅的方式来解决我的第一个问题。

假设我的tbl中有一个“选项代码”列,数据是这样的:m1803-C-2550 m1807-P-3050我想在“-”之间抓取C / P作为新变量“选项类型” ,以及第二个“-”之后的2550/3050 ...

r regex tidyverse stringr
3个回答
2
投票

您可以使用separate()中的tidyr通过分隔符分割字符串。


0
投票

尝试一下:


0
投票

Base R解决方案:

© www.soinside.com 2019 - 2024. All rights reserved.