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

Ruby数组如何查找所有包含指定字符的元素索引

问题原因

你的代码使用==做全等匹配,逻辑是仅筛选出**完全等于目标字符a**的元素,所以只有值为单个字符a的元素会被命中,自然漏掉了包含a的字符串bac。

修正方案

判断字符串是否包含指定字符,使用Ruby字符串内置的include?方法即可,符合你需求的正确写法如下:

list.each_index.select { |i| list[i].include?('a') }

运行后返回结果为[1, 2, 3, 8],和你的预期一致。

如果后续需要同时匹配大小写的a,可以补充大小写转换逻辑:

# 该写法会同时命中大写的'A',返回结果为[1, 2, 3, 6, 8]
list.each_index.select { |i| list[i].downcase.include?('a') }

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 13:57:02