使用 stringr 替换 R 中特定字符串模式之后的行值

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

我在 R 中有一个名为 df 的数据框:


name=c("john","mary","stef","paul","helen")
var =c("[1127] pizza" ,                                                                          
 "[1000ui] berger"   ,                                        
 "[5748A!] pasta" ,                                        
 "[8245A&] sweet" ,       
 "[9893] drink" )
df=tibble(name,var);df

导致:

# A tibble: 5 × 2
  name  var            
  <chr> <chr>          
1 john  [1127] pizza   
2 mary  [1000ui] berger
3 stef  [5748A!] pasta 
4 paul  [8245A&] sweet 
5 helen [9893] drink   

我想删除列 var 中每行值 [...] 中的字符串并保留其余部分。理想情况下,我希望数据框(tibble)看起来像这样:

名字 var
约翰 披萨
玛丽 伯格
史蒂夫 面食
保罗
海伦

我如何使用 R 中的字符串包或 tidyverse 函数中的其他函数来实现它?

r string dataframe
1个回答
0
投票

我认为这是

word
包中的
stringr
函数的一个很好的用例:

library(stringr)
library(dplyr)

df %>% 
  mutate(var = word(var,2))
  name  var   
  <chr> <chr> 
1 john  pizza 
2 mary  berger
3 stef  pasta 
4 paul  sweet 
5 helen drink 
© www.soinside.com 2019 - 2024. All rights reserved.