ruby - 查找字符串中子字符串的所有索引

标签 ruby

我希望能够使用 Ruby 找到较大字符串中所有出现的子字符串的索引。例如:“爱因斯坦”中的所有“in”

str = "Einstein"
str.index("in") #returns only 1
str.scan("in")  #returns ["in","in"]
#desired output would be [1, 6]

最佳答案

标准黑客是:

indices = "Einstein".enum_for(:scan, /(?=in)/).map do
  Regexp.last_match.offset(0).first
end
#=> [1, 6]

关于ruby - 查找字符串中子字符串的所有索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43329481/

相关文章:

Ruby - 如何处理子类意外覆盖父类(super class)私有(private)字段的问题?

ruby - 使用 Watir 时可以将 -f 参数传递给 iexplore.exe 吗?

ruby - 将程序拆分为多个类并从一个类中访问另一个类中的变量

ruby - 为 Ruby 哈希一次将多个键设置为相同的值

ruby-on-rails - 从 gem 确定 rails 环境

ruby-on-rails - 检查 Ruby 数组的元素是否包含在另一个数组中

ruby-on-rails - Heroku 找不到 CoffeeScript 源 1.1.3

ruby - 在 Windows 中右键单击并选择 Ruby 的上下文菜单选项

ruby - 如何让 eval 返回带小数位的数字?

ruby - 如何在 postgres ruby​​ 中手动提交或回滚