Ruby 搜索包含名称字符串的数组,返回长度为X的名称
给定一个数组Ruby 搜索包含名称字符串的数组,返回长度为X的名称,ruby,Ruby,给定一个数组[“Jim Bob”,“Jim”,“Billy Bob”] 如何返回长度为X的所有名称的数组 因此,如果我在数组中搜索长度为2的名称,我应该返回:[“Jim Bob”,“Billy Bob”] 希望在Ruby中实现这一点。似乎您不会搜索长度为2的名称,而是由2个名称组成 按名称零件的数量选择: ["Jim Bob", "Jim", "Billy Bob"].select { |names| names.split.length == 2 } #=> ["Jim Bob", "B
[“Jim Bob”,“Jim”,“Billy Bob”]
如何返回长度为X的所有名称的数组
因此,如果我在数组中搜索长度为2的名称,我应该返回:[“Jim Bob”,“Billy Bob”]
希望在Ruby中实现这一点。似乎您不会搜索长度为2的名称,而是由2个名称组成 按名称零件的数量选择:
["Jim Bob", "Jim", "Billy Bob"].select { |names| names.split.length == 2 }
#=> ["Jim Bob", "Billy Bob"]
按名称中的空格数选择:
["Jim Bob", "Jim", "Billy Bob"].select { |name| name.count(' ') == 1 }
#=> ["Jim Bob", "Billy Bob"]
根据您希望如何处理连字符名称,您可能需要:
arr = ["Jim Bob", "Jim", "Billy Bob", "Anna-Marie"]
arr.select { |names| names.scan(/[\w-]+/).size == 2 }
#=> ["Jim Bob", "Billy Bob"]
这太奇怪了…我对你的答案投了赞成票。我不知道为什么会被否决。