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

在R语言中如何从字符向量移除通用词及指定后缀?

问题2:移除.mat后缀,转换为"File1"等格式

这个场景太常见了!针对你的需求,我给你三种简单高效的实现方式:

首先先定义你的字符向量:

character.vec <- c("File1.mat", "File2.mat", "File3.mat", "File4.mat")
  • Base R 的 sub 函数:用正则匹配结尾的.mat并替换为空:

    result <- sub("\\.mat$", "", character.vec)
    # 结果:"File1" "File2" "File3" "File4"
    

    解释:\\.是转义点(因为.在正则里是通配符),$表示匹配字符串结尾,确保只去掉末尾的.mat。

  • stringr 包的 str_remove:语法更直观,新手友好:

    library(stringr)
    result <- str_remove(character.vec, "\\.mat$")
    # 或者用str_replace
    result <- str_replace(character.vec, "\\.mat$", "")
    
  • tools 包的专用函数:如果你是处理文件名,tools包的file_path_sans_ext是专门用来去除文件扩展名的,不管扩展名是什么都能搞定,最稳妥:

    library(tools)
    result <- file_path_sans_ext(character.vec)
    

这些方法都能完美得到你想要的结果,选哪个看你的习惯——我个人处理文件名时更喜欢用tools包的方法,不用写正则,不容易出错~


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:23:46