Articles

rozdělit v Ruby

řetězcové objekty v Ruby mají metodu nazvanou Split. Je to podobné jako u funkce Perl. Může rozříznout řetězec na předem definovaný řetězec nebo regex vracející řadu menších řetězců.

V prvním příkladu můžete vidět, jak rozdělit řetězec na každém místě, kde je čárka ,

příklady/ruby/split_comma.rb

require 'pp'words_str = 'Foo,Bar,Baz'words_arr = words_str.split(',')pp words_arr # 

V druhém příkladu budeme používat regulární výrazy, aby odpovídaly místa, kde jsme chtěli rozřezat řetězec.To je mnohem pružnější rozdělení:

příklady / ruby/split_regex.rb

require 'pp'words_str = 'One - Two- Three'words_arr = words_str.split(/\s*-\s*/) # pp words_arr

Split s limitem

můžeme rozdělit druhý parametr, který omezí počet vrácených valusů.Pokud projdeme 3, split provede dva řezy a vrátí výsledky:

příklady / ruby/split_comma_limit.rb

require 'pp'words_str = 'Foo,Bar,Baz,Moo,Zorg'words_arr = words_str.split(',', 3)pp words_arr # 

Rozdělit tím, že prázdný řetězec

Jako trochu zvláštní případ, pokud použijeme prázdný řetězec (prázdná nebo regex) rozdělit s,pak budeme dostat zpět pole jednotlivých znaků:

příklady/ruby/split_by_empty_string.rb

require 'pp'words_str = 'Foo,Bar,Baz'words_arr = words_str.split('')pp words_arr #