問題
'mono,di,tri'.split(',') #=> ["mono", "di", "tri"]
この結果を ["mono", ",", "di", ",", "tri"]
にするにはどうしたらよいか?
解答
'mono,di,tri'.split(/(,)/) #=> ["mono", ",", "di", ",", "tri"]
String#split のドキュメントに
split(sep = $;, limit = 0) -> [String]
sep が正規表現で、かつその正規表現に括弧が含まれている場合には、 各括弧のパターンにマッチした文字列も配列に含まれます。 括弧が複数ある場合は、マッチしたものだけが配列に含まれます。
と記載されている。今日まで知らなかった小ネタ