如何在另一列中按符号拆分字符串

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

我有数据集

  data.frame(
    a = c("brno (okr. brno-město)", "adršpach - horní adršpach", "bartošovice,hukovice")
  ) %>% 
  
  mutate(
    str_brk = str_extract(a, regex(("[^a-zA-ZáčďéěíňóřšťúůýžÁČĎÉĚÍŇÓŘŠŤÚŮÝŽ\\s]"))),
  )

通过 str_brk 列,我得到要拆分 a 列的字符串,因此预期输出为:

data.frame(
        a = c("brno (okr. brno-město)", "adršpach - horní adršpach", "bartošovice,hukovice"),
        expected = c("brno", "adršpach", "bartošovice")
      )
r regex stringr
1个回答
0
投票

您还可以使用

word
中的
stringr
。您可以有多个分隔符,因此在本例中,我使用空格和逗号。但是,如果您处理大量数据,那么
str_extract
的工作速度会更快。

library(tidyverse)

data.frame(a = c(
  "brno (okr. brno-město)",
  "adršpach - horní adršpach",
  "bartošovice,hukovice"
)) %>%
  mutate(str_brk = word(a, 1, , sep = ' |,'))

输出

                          a     str_brk
1    brno (okr. brno-město)        brno
2 adršpach - horní adršpach    adršpach
3      bartošovice,hukovice bartošovice
© www.soinside.com 2019 - 2024. All rights reserved.