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 #