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

R语言中从DataFrame提取不含.jpg的名称与数字

R语言提取DataFrame中LEAF列的无后缀内容

方法1:使用str_remove直接删除后缀(更直观)

这种方法直接定位字符串末尾的.jpg并移除,代码简洁且不易出错:

library(tidyverse)

# 构造测试数据
df <- tibble(LEAF = c("ARG    1.jpg", "BRA  2.jpg", "COL 3.jpg"))

# 提取无后缀内容
df_clean <- df %>%
  mutate(LEAF_clean = str_remove(LEAF, "\\.jpg$"))

方法2:使用str_extract搭配正则匹配

如果坚持用str_extract,可以通过正向先行断言匹配.jpg之前的所有内容(包括空格):

df_clean <- df %>%
  mutate(LEAF_clean = str_extract(LEAF, "^.*(?=\\.jpg)"))

正则说明:

  • ^:匹配字符串开头
  • .*:匹配任意字符(包括空格),直到满足后续条件
  • (?=\\.jpg):正向预查,确保后面紧跟.jpg,但不将其纳入匹配结果

输出结果

两种方法都会得到如下处理后的DataFrame:

# A tibble: 3 × 2
  LEAF        LEAF_clean
  <chr>       <chr>     
1 ARG    1.jpg ARG    1  
2 BRA  2.jpg   BRA  2    
3 COL 3.jpg    COL 3     

处理后的LEAF_clean列即可直接用于和其他DataFrame的比对。

内容的提问来源于stack exchange,提问作者Miguel Angel Acosta Chinchilla

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 08:55:17