Ruby分割数组,然后根据模式返回第一个元素
我有一个语言字符串,定义为:en,fr,nl_-nl。我需要返回以nl开头的第一个元素。我该怎么做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?(
我从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我的答案有帮助吗?