Difference of answers while using split function in Ruby

Posted by N L on Stack Overflow See other posts from Stack Overflow or by N L
Published on 2012-09-02T03:18:17Z Indexed on 2012/09/02 3:38 UTC
Read the original article Hit count: 179

Filed under:
|

Given the following inputs:

line1 = "Hey | Hello | Good | Morning"
line2 = "Hey , Hello , Good , Morning"
file1=length1=name1=title1=nil

Using ',' to split the string as follows:

file1, length1, name1, title1 = line2.split(/,\s*/)

I get the following output:

puts file1,length1,name1,title1

>Hey
>Hello
>Good
>Morning

However, using '|' to split the string I receive a different output:

file1, length1, name1, title1 = line2.split(/|\s*/)
puts file1,length1,name1,title1

>H
>e
>y

Both the strings are same except the separating symbol (a comma in first case and a pipe in second case). The format of the split function I am using is also the same except, of course, for the delimiting character. What causes this variation?

© Stack Overflow or respective owner

Related posts about ruby

Related posts about split