簡體   English   中英

Ruby拆分數組,然后根據模式返回第一個元素

[英]Ruby split array then return first element based on pattern

我有一個語言字符串,定義為: en,fr,nl_nl 我需要返回以nl開頭的第一個元素。 我怎樣才能做到這一點?

我已經開始使用languages.split(',') ,但是不知道在數組中搜索模式並返回第一個元素的最佳方法是什么。

這應該可以按預期工作:

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

除非需要數組,否則可以使用正則表達式查找子字符串:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM