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

Ruby动态合并哈希中前缀关联键的实现方案问询

动态前缀哈希转换的通用实现

针对你需要将带固定前缀的动态键哈希转换为指定结构的需求,这里提供Ruby环境下的通用实现方案:

基础实现

假设前缀是固定的(比如示例中的key_),通过遍历键值对拆分键名即可完成转换:

my_hash = {key_a: "value a", key_b: "value b", key_c: "value c"}
prefix = "key_"

result = {
  key: my_hash.map do |k, v|
    # 将符号键转为字符串,移除前缀后转回符号作为新键
    new_key = k.to_s.sub(prefix, "").to_sym
    { new_key => v }
  end
}

# 输出结果:{:key=>[{:a=>"value a"}, {:b=>"value b"}, {:c=>"value c"}]}

带过滤的实现

如果原哈希中存在不带目标前缀的键,可以通过过滤逻辑只处理符合要求的键:

my_hash = {key_a: "value a", key_b: "value b", other_key: "ignore this"}
prefix = "key_"

result = {
  key: my_hash.filter_map do |k, v|
    key_str = k.to_s
    # 跳过不带指定前缀的键
    next unless key_str.start_with?(prefix)
    new_key = key_str.sub(prefix, "").to_sym
    { new_key => v }
  end
}

# 输出结果:{:key=>[{:a=>"value a"}, {:b=>"value b"}]}

使用时只需修改prefix变量的值,就能适配任意前缀的动态键名,完全不需要提前知道前缀后的具体内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 10:04:55