コンマ区切りの文字列を逆順に
コンマ区切りの文字列を逆順にします。splitしてreverseしてjoinすればよいですかね。最後のコンマはなくなります。
s = "Alice,Bobby,,David,Elmo," p s.split(/,/).reverse.join(',') #=> "Elmo,David,,Bobby,Alice" p s #=> "Alice,Bobby,,David,Elmo,"
cf. Ruby Cookbook, Recipe 1.4.
追記:znzさんから、split(/,/,-1)を教えていただきました。ありがとうございます。
split(pattern, [limit])で、limitは返すフィールドの個数制限。負数の場合には制限なしで最後の空フィールドもsuppressされません。参照: ri String#split
s = "Alice,Bobby,,David,Elmo," p s.split(/,/, -1).reverse.join(',') #=> ",Elmo,David,,Bobby,Alice"