首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >尝试像str_split_n()那样拆分字符串,但不能调用它,尽管它在stringr的手册和代码库中

尝试像str_split_n()那样拆分字符串,但不能调用它,尽管它在stringr的手册和代码库中
EN

Stack Overflow用户
提问于 2021-07-13 13:00:02
回答 3查看 84关注 0票数 0

如何在这里拆分字符串?由于某种原因,stringr的资源库中有str_split_n,但无法使用它,也没有帮助文件。

所以我想用这个:

代码语言:javascript
运行
复制
x <- c("a", "b[12]", "c[34]", "d")
tibble(x) |>
  dplyr::mutate(
    y = str_split_n(x, "\\[", 1)
  )

要获得以下信息:

代码语言:javascript
运行
复制
# A tibble: 4 x 2
  x     y    
  <chr> <chr>
1 a     a    
2 b[12] b    
3 c[34] c    
4 d     d
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-07-13 13:06:31

我们可以在这里只使用sub,并删除尾随的括号项目:

代码语言:javascript
运行
复制
df <- data.frame(x=c("a", "b[12]", "c[34]", "d"))
df$y <- sub("\\[.*?\\]$", "", df$x)
df

      x y
1     a a
2 b[12] b
3 c[34] c
4     d d
票数 2
EN

Stack Overflow用户

发布于 2021-07-13 14:03:56

我想你要找的是-

代码语言:javascript
运行
复制
tibble(x) |>
  dplyr::mutate(
    y = stringr::str_split_fixed(x, "\\[", 2)[, 1]
  )

#  x     y    
#  <chr> <chr>
#1 a     a    
#2 b[12] b    
#3 c[34] c    
#4 d     d    
票数 2
EN

Stack Overflow用户

发布于 2021-07-14 01:43:45

base R使用trimws

代码语言:javascript
运行
复制
df$x <- trimws(df$x, whitespace = "\\[.*")
df$x
[1] "a" "b" "c" "d"

数据

代码语言:javascript
运行
复制
df <- data.frame(x=c("a", "b[12]", "c[34]", "d"))
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68356722

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档