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

R语言如何实现字符串向量各元素内条目去重仅保留唯一值

R实现分号分隔字符串的单元素内去重重拼

通过R base内置函数组合即可实现需求,无需额外安装第三方包,完整可运行代码如下:

# 定义原始输入向量
vec <- c("US;DE;US", "AU;AU;JP", "IN;SA;CN;RU", "PK;IQ;IQ")

# 核心处理逻辑
vec <- sapply(
  strsplit(vec, split = ";"),
  function(split_part) paste(unique(split_part), collapse = ";")
)

运行后得到的vec与目标结果完全匹配:

> vec
[1] "US;DE"       "AU;JP"       "IN;SA;CN;RU" "PK;IQ"

步骤逻辑说明

  • strsplit(vec, ";"):对向量内每个字符串按分号做拆分,返回和原向量等长的列表,列表内每个元素存储对应字符串拆分后的单个值
  • 遍历列表中每个拆分后的片段:用unique()保留首次出现的非重复值,再通过paste(..., collapse = ";")把去重后的片段重新用分号拼接为完整字符串
  • sapply()会自动把遍历处理后的结果简化为字符向量,输出顺序和原向量完全对应,不会打乱条目首次出现的顺序。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 12:18:18