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

R语言筛选列字符串以特定词开头的行,^word不生效如何解决?

R语言筛选首个分类为Thriller的电影记录解决方案

正则不生效的原因

你之前使用^Thriller格式的正则匹配失败,是因为genre列的所有字符串都以['开头,字符串首个字符是左方括号,不可能直接匹配到开头位置的Thriller。

正确实现代码

library(dplyr)
library(stringr)

# 筛选首个分类为Thriller的行
thrill_first <- dfUSARating %>% 
  filter(str_detect(genre, "^\\['Thriller"))

代码说明

  • 管道操作中直接使用列名genre即可,不需要加dfUSARating$前缀,避免匹配到外部环境的同名变量
  • 正则^\\['Thriller的匹配逻辑:
    • ^锚定字符串的起始位置
    • \\[转义匹配字面量左方括号(方括号属于正则特殊字符,R字符串中需要写两个反斜杠实现转义)
    • '匹配单引号,后续紧跟Thriller,刚好对应第一个分类为Thriller的记录
  • 如果你的数据中存在['后带空格的情况,可以把正则修改为^\\['\\s*Thriller,\\s*会兼容0个或多个空白字符的场景。

内容的提问来源于stack exchange,提问作者RNewbie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 10:36:00