次の入力があるとします。
line1 = "Hey | Hello | Good | Morning"
line2 = "Hey , Hello , Good , Morning"
file1=length1=name1=title1=nil
「,」を使用して、次のように文字列を分割します。
file1, length1, name1, title1 = line2.split(/,\s*/)
次の出力が得られます。
puts file1,length1,name1,title1
>Hey
>Hello
>Good
>Morning
ただし、「|」を使用する 文字列を分割するには、別の出力を受け取ります。
file1, length1, name1, title1 = line2.split(/|\s*/)
puts file1,length1,name1,title1
>H
>e
>y
区切り記号 (最初のケースではカンマ、2 番目のケースではパイプ) を除いて、両方の文字列は同じです。私が使用している分割関数の形式も、もちろん区切り文字を除いて同じです。この変動の原因は何ですか?