删除单元格的某些部分

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

所以我正在为欧洲前 5 名联赛(足球)的球员制作一个数据框。我在这个数据框中有一列名为“PlayerURL”。在本专栏中,我有每个赛季每个球员的网址。他们看起来像这样。

"/en/players/c0617e2b/Dani-Ceballos"
"/en/players/6c203af0/Yves-Bissouma"
。我有 1003 个类似这样但名称不同的细胞。我想删除最后的“/en/players/”和他们的名字,所以我只将“代码”保留在中间。有人可以帮我做这件事吗?

我是个新手..感谢您的帮助。谢谢:)

r dplyr tidyverse
1个回答
0
投票

使用正则表达式模式和

gsub
stringr::str_replace
你可以这样做:

library(dplyr, warn = FALSE)

data.frame(
  url = c(
    "/en/players/c0617e2b/Dani-Ceballos",
    "/en/players/6c203af0/Yves-Bissouma"
  )
) |>
  mutate(
    code = gsub("^/en/players/(.*)/.*$", "\\1", url)
  ) |> 
  mutate(
    code1 = stringr::str_replace(url, "^/en/players/(.*)/.*$", "\\1")
  )
#>                                  url     code    code1
#> 1 /en/players/c0617e2b/Dani-Ceballos c0617e2b c0617e2b
#> 2 /en/players/6c203af0/Yves-Bissouma 6c203af0 6c203af0
© www.soinside.com 2019 - 2024. All rights reserved.