You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中如何拆分dataframe的question列提取方括号内外内容为两列

错误原因

你当前使用的正则表达式中,\w+仅支持匹配连续的字母、数字、下划线,无法捕获问题文本中包含的空格、标点、特殊符号,因此无法正确拆分出完整的问题内容和方括号内的标识。

修正代码

你只需要调整正则规则,匹配方括号前的全部内容即可,修正后的代码如下:

df2 %>% 
  tidyr::extract(
    question, 
    into = c('question', 'v2'), 
    regex = '^(.*?)\\s*\\[(\\w+)\\]$'
  )

正则规则说明

  • ^ 匹配字符串起始位置
  • (.*?) 非贪婪匹配,捕获方括号之前的所有内容作为新的question列
  • \\s* 匹配方括号与前置内容之间可能存在的空格
  • \\[(\\w+)\\] 匹配方括号结构,同时捕获方括号内部的单词内容作为v2列
  • $ 匹配字符串结束位置

运行上述代码即可得到你需要的输出结果。


内容的提问来源于stack exchange,提问作者C.Robin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 01:45:04