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

在R语言的dataframe中提取|字符之间内容的方法咨询

实现方案

R语言(tidyverse 方案)

你可以直接用正则表达式匹配两个|之间的内容,或者按|拆分后取对应位置的元素:

library(tidyverse)

# 方法1:正则提取,匹配第一个和第二个|之间的内容
df <- df %>%
  mutate(extracted_content = str_extract(Accession, "(?<=\\|).*?(?=\\|)"))

# 方法2:按|拆分取第二部分,适合固定只有两个|的场景
df <- df %>%
  mutate(extracted_content = str_split(Accession, "\\|", simplify = TRUE)[,2])

如果要提取所有|之间的内容(存在多个|的情况),可以用str_extract_all返回列表格式的结果。

Python(pandas 方案)

同样支持正则提取和拆分取值两种方式:

import pandas as pd

# 方法1:正则提取
df['extracted_content'] = df['Accession'].str.extract(r'\|(.*?)\|')

# 方法2:拆分后取索引为1的元素
df['extracted_content'] = df['Accession'].str.split('|').str[1]

如果要提取所有|之间的内容,可以用df['Accession'].str.findall(r'\|(.*?)\|')返回列表格式的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 00:06:03