split i Ruby
String objekter i Ruby har en metode kaldetsplit. Det ligner thesplit funktion af Perl. Det kan skære en streng op istykker langs en foruddefineret streng eller regeks, der returnerer en række mindre strenge.
i det første eksempel kan du se, hvordan du deler en streng hvert sted, hvor der er et komma,:
eksempler/ruby / split_comma.rb
require 'pp'words_str = 'Foo,Bar,Baz'words_arr = words_str.split(',')pp words_arr #
i det andet eksempel bruger vi en Regeks til at matche de steder, hvor vi gerne vil skære op string.It gør opdelingen meget mere fleksibel:
eksempler / ruby / split_regeks.rb
require 'pp'words_str = 'One - Two- Three'words_arr = words_str.split(/\s*-\s*/) # pp words_arr
Split med grænse
Vi kan passere en anden parameter til split, der vil begrænse antallet af reurned valus.Hvis vi passerer 3, vil split gøre to nedskæringer og returnere resultaterne:
eksempler/ruby/split_comma_limit.rb
require 'pp'words_str = 'Foo,Bar,Baz,Moo,Zorg'words_arr = words_str.split(',', 3)pp words_arr #
Split med tom streng
som et lidt specielt tilfælde, hvis vi bruger en tom streng (eller tom regeks) til at opdele med,så får vi et array af de enkelte tegn tilbage:
eksempler/ruby / split_by_empty_string.rb
require 'pp'words_str = 'Foo,Bar,Baz'words_arr = words_str.split('')pp words_arr #