查找Ruby数组的字符串索引[重复]

Posted

技术标签:

【中文标题】查找Ruby数组的字符串索引[重复]【英文标题】:Find a string index of a Ruby array [duplicate] 【发布时间】:2021-12-10 00:08:03 【问题描述】:

例如,考虑下面的列表:

list = ['k', 'bac', 'a', 'a', 'zBy', 'yUk', 'A', 'u', 'a'] 

我在这个列表中搜索“a”的索引。

因此,预期回报为:

>>[1, 2, 3, 8] 

但是,我只是得到 [2, 3, 8] 的返回值,因为我的函数没有考虑字符串 'bac' 中的字符。

我的想法:

 list.each_index.select|i| list[i] == value 

我哪里错了?谢谢你们。我在这里学到了很多东西!

【问题讨论】:

***.com/questions/13659696/… 这能回答你的问题吗? ***.com/q/45499614/6045800 我的问题是我需要实现采用 array 并查找可以找到目标字符的所有位置的代码。但是,此代码将是一个能够在其他几个列表中找到这些索引的函数,并且每个列表都希望返回不同的元素等(这是一个学习挑战)。 我编辑了这个问题,因为我认为我的疑问不是很清楚。 【参考方案1】:

list = ['k', 'z', 't', 'c', 'z', 'y', 'x', 'xay'] 我想在这个列表中找到"z" 元素的索引,它会像这样返回:#=> [1,4]

您可以使用each_index 然后select 遍历数组的索引,满足您的条件:

list.each_index.select|i| list[i] == ?z #=> [1, 4]

更新(之二)

我的问题是我需要实现代码,该代码需要一个数组并查找可以找到目标字符的所有位置。

如果你想在查找字符'z'时选择'baz'的索引,那么你可以在你的条件下使用String#include?

"baz".include? 'z' #=> true

但是,此代码将是一个函数,它将能够在其他几个列表中找到这些索引,并且每个列表都希望返回不同的元素,等等。

只需将前面的代码包装在一个函数中:

def myfunction arr, c
  arr.each_index.select|i| arr[i].include? c
end

【讨论】:

我编辑了这个问题,因为我认为我的疑问不是很清楚。 就是这样!好刺激哈哈 非常感谢!我永远不会忘记这个 .include @Edd 不客气 ;-) 顺便说一句,如果它是你想要的,你可以接受我的回答。

以上是关于查找Ruby数组的字符串索引[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Ruby - 遍历数组中的每个字符串并删除重复的字符

剑指Offer题目索引

查找字符串中重复单词的索引[重复]

如何使用pop函数删除ruby中数组的第零索引[重复]

如何查找字符串中所有出现的单词的所有索引[重复]

在数组中查找特定字符串的所有索引的更快方法