如何在R中的单个列中通过字符串标签对行值进行子集设置?

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

我有一个列,我想根据R中的第一个和最后一个'字符串'标签来对其行值进行子集化。级别值如下:

[1] "60022 (Location; 9TH FLOOR; Snacks)"
[3] "60024 (Location; 9TH FLOOR; Snacks)"
[5] "60027 (Location; 9TH FLOOR; Snacks)"

我希望将#以及第一个字符串和最后一个字符串用';'分开。 R中是否有函数或语法可以做到这一点?

我已经尝试过此操作以仅提取第一个值,但也无法通过以下代码保留“零食”:

#updated_df_2020$Machine <- sub("([A-Za-z]+).*", "\\1", updated_df_2020$Machine) 

每行的最终结果应为数字(依次为60022和零食):

[1] "60022 (Snacks)" 
r string dplyr gsub
1个回答
0
投票

如果我们需要删除子字符串

sub("^(\\d+)\\b.*\\b(\\w+\\))", "\\1 (\\2", updated_df_2020$Machine)
© www.soinside.com 2019 - 2024. All rights reserved.