我有一个语言字符串,定义为:en,fr,nl_nl
。我需要返回以nl
开头的第一个元素。我怎么能这样做?
我从languages.split(',')
开始,但不知道在数组中搜索模式并返回第一个元素的最佳方法是什么。
答案 0 :(得分:5)
这应该按照您的预期运作:
languages.split(',').detect { |s| s.start_with?('nl') }
# => "nl_nl"
答案 1 :(得分:5)
除非您需要数组,否则可以使用正则表达式来查找子字符串:
languages = 'en,fr,nl_nl'
languages[/\bnl[^,]*/] #=> "nl_nl"
languages[/\ben[^,]*/] #=> "en"