【问题标题】:How do I count substrings within array of strings?如何计算字符串数组中的子字符串?
【发布时间】:2013-10-12 23:48:08
【问题描述】:

我有一个数组:

["Passive: 8", "Passive: 9", "Neutral: 3"]

现在我需要计算看到Passive 的次数。如何计算子字符串在数组内的字符串中出现的次数?

【问题讨论】:

    标签: ruby arrays string count


    【解决方案1】:
    ["Passive: 8", "Passive: 9", "Neutral: 3"].grep(/Passive/).count
    # => 2
    

    【讨论】:

    • 啊,打败我了。这也更简洁,因为它是一行代码。谢谢。
    【解决方案2】:

    我在grep 中找到了答案。

    arr.grep(/^Passive/).each do |element|
      ...
    end
    

    这足以满足我的目的。

    【讨论】:

    • 这不回答你问的问题,它只找到匹配的,不计算它们。
    • 同意 - 这还不完整,但我可以遍历每个 element 并每次添加一个。但是,sawa 的回答要高效得多。
    • @sawa 的回答也是惯用的 Ruby。它是一行代码并不重要。
    【解决方案3】:

    另一种方法:

    array.count{|x|x['Passive']}
    

    【讨论】:

      猜你喜欢
      • 2021-01-24
      • 1970-01-01
      • 2023-04-06
      • 2023-03-28
      • 1970-01-01
      • 2017-10-20
      • 2016-05-24
      • 1970-01-01
      相关资源
      最近更新 更多