我有数据集
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")
)
您还可以使用
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