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

R中编写str_detect正则时双引号嵌套错误及空格筛选失败如何解决?

R语言首尾带空格字符串筛选实现

原代码问题说明

  • 存在双引号使用的语法错误,字符串拼接不符合R语言规范
  • 正则表达式规则错误,未精准匹配「字符串开头/结尾带空格」的需求

正确实现代码

# 加载依赖
library(tidyverse)

# 示例数据集
mydata<-data.frame(NCT_number=c(" 1111","  2222","0000","3333","4444 "))

# 筛选首尾存在空格的行
mydata %>% filter(str_detect(NCT_number, "^\\s+|\\s+$"))

规则说明

正则表达式^\\s+|\\s+$的逻辑:

  • ^ 匹配字符串起始位置,\\s+ 匹配1个及以上空白字符,^\\s+ 用于识别开头带空格的内容
  • | 代表正则逻辑「或」
  • $ 匹配字符串结束位置,\\s+$ 用于识别结尾带空格的内容

如果仅需要匹配纯空格(排除制表符等其他空白字符),可将正则修改为^ +| +$即可。

运行输出结果

NCT_number
1       1111
2       2222
5      4444 

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 01:54:03