dela i Ruby
Strängobjekt i Ruby har en metod som hetersplit. Det liknar thesplit funktion av Perl. Det kan skära upp en sträng ibitar längs en fördefinierad sträng eller regex som returnerar en rad mindre strängar.
i det första exemplet kan du se hur man delar en sträng varje plats där det finns ett komma ,:
exempel/ruby/split_comma.rb
require 'pp'words_str = 'Foo,Bar,Baz'words_arr = words_str.split(',')pp words_arr #
i det andra exemplet använder vi en Regex för att matcha de platser där vi vill skära upp string.It gör uppdelningen mycket mer flexibel:
exempel / ruby / split_regex.rb
require 'pp'words_str = 'One - Two- Three'words_arr = words_str.split(/\s*-\s*/) # pp words_arr
Split med gräns
Vi kan skicka en andra parameter för att dela som kommer att begränsa antalet Återvunna valus.Om vi passerar 3, kommer split att göra två nedskärningar och returnera resultaten:
exempel/ruby/split_comma_limit.rb
require 'pp'words_str = 'Foo,Bar,Baz,Moo,Zorg'words_arr = words_str.split(',', 3)pp words_arr #
delad med tom sträng
som ett något speciellt fall, om vi använder en tom sträng (eller tom regex) att dela med,kommer vi att få tillbaka en rad enskilda tecken:
exempel/ruby/split_by_empty_string.rb
require 'pp'words_str = 'Foo,Bar,Baz'words_arr = words_str.split('')pp words_arr #