Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 搜索包含名称字符串的数组,返回长度为X的名称_Ruby - Fatal编程技术网

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"]

这太奇怪了…我对你的答案投了赞成票。我不知道为什么会被否决。