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 #