Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.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分割数组,然后根据模式返回第一个元素_Ruby_Arrays - Fatal编程技术网

Ruby分割数组,然后根据模式返回第一个元素

Ruby分割数组,然后根据模式返回第一个元素,ruby,arrays,Ruby,Arrays,我有一个语言字符串,定义为:en,fr,nl_-nl。我需要返回以nl开头的第一个元素。我该怎么做 我从languages.split','开始学习,但不知道在数组中搜索模式并返回第一个元素的最佳方法是什么。这应该如您所料: languages.split(',').detect { |s| s.start_with?('nl') } # => "nl_nl" 这应该如您所期望的那样起作用: languages.split(',').detect { |s| s.start_with?(

我有一个语言字符串,定义为:en,fr,nl_-nl。我需要返回以nl开头的第一个元素。我该怎么做


我从languages.split','开始学习,但不知道在数组中搜索模式并返回第一个元素的最佳方法是什么。

这应该如您所料:

languages.split(',').detect { |s| s.start_with?('nl') }
# => "nl_nl"

这应该如您所期望的那样起作用:

languages.split(',').detect { |s| s.start_with?('nl') }
# => "nl_nl"

除非需要数组,否则可以使用正则表达式查找子字符串:

languages = 'en,fr,nl_nl'
languages[/\bnl[^,]*/] #=> "nl_nl"
languages[/\ben[^,]*/] #=> "en"

除非需要数组,否则可以使用正则表达式查找子字符串:

languages = 'en,fr,nl_nl'
languages[/\bnl[^,]*/] #=> "nl_nl"
languages[/\ben[^,]*/] #=> "en"

@我的答案有帮助吗?@AndreiHorak我的答案有帮助吗?