分割字符串并将其附加到向量

1 string split r append

我有一个字符向量,其中字符串元素有或没有斜杠(/)。

sem_tags <- ('F2', 'A1/B1', 'X3.2', 'M3fn', 'E2/Q2')

我希望那些带有斜杠的标签存储为两个单独的标签,以便最终我得到

new_sem_tags <- ('F2', 'A1', 'B1', 'X3.2', 'M3fn', 'E2', 'Q2')

这是我到目前为止所尝试的。

new_sem_tags <- c()
for (i in 1:length(sem_tags)){
  if (grepl("/", i)){
    append(new_sem_tags, str_split(i, '/'))
  } else {
    appendnew_sem_tags, i)
  }
  i = i+1
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,这不起作用。当我单独尝试每个功能时,例如,拆分和附加,它们似乎可以完成工作。然而,我注意到附加返回输出但不“存储”输出。这可能是问题所在吗?如果是,我该如何克服?

提前致谢!

lov*_*ery 6

使用base R,您可以执行以下操作:

雷普莱克斯

sem_tags <- c('F2', 'A1/B1', 'X3.2', 'M3fn', 'E2/Q2')

unlist(strsplit(sem_tags, "/"))
#> [1] "F2"   "A1"   "B1"   "X3.2" "M3fn" "E2"   "Q2"
Run Code Online (Sandbox Code Playgroud)

由reprex 包于 2022 年 1 月 20 日创建(v2.0.1)