Articles

split w Ruby

Obiekty String w Ruby mają metodę calledsplit. Jest ona podobna do funkcji splitowej Perla. Może wyciąć łańcuch do wewnątrz wzdłuż predefiniowanego łańcucha lub regex zwracając tablicę mniejszych łańcuchów.

w pierwszym przykładzie możesz zobaczyć, jak podzielić ciąg w każdym miejscu, w którym znajduje się przecinek:

examples/ruby / split_comma.rb

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

w drugim przykładzie używamy wyrażenia regularnego, aby dopasować miejsca, w których chcielibyśmy wyciąć string.It sprawia, że podział jest znacznie bardziej elastyczny:

examples/ruby/split_regex.RB

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

Split z limitem

możemy przekazać drugi parametr do split, który ograniczy liczbę odzyskanych valusów.Jeśli przekażemy 3, wtedy split dokona dwóch cięć i zwróci wyniki:

examples/ruby/split_comma_limit.RB

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

Split by empty string

w nieco specjalnym przypadku, jeśli użyjemy pustego łańcucha (lub pustego wyrażenia regularnego) do podziału,wtedy odzyskamy tablicę poszczególnych znaków:

examples/ruby/split_by_empty_string.rb

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