タイトルがわかりづらいけど、この文字列を str = "ab#cde# ##...fgh.i##" こうしたい、 ["ab", "#", "cde", "#", " ", " ", "#", "#", ".", ".", ".", "fgh", ".", "i", "#", "#"] という話。 文字列はひとまとめ、それ以外はバラバラにという感じで。 分割というとまずString#splitが思いつく。String#splitは普通に使うと区切り文字で分割した文字列の配列を返してくれる。そのため上のような結果が欲しい場合には使えない。区切り文字にした文字が消えてしまうからね。 ところでドキュメントを読んだらこんな風にかいてあった。 If pattern is a Regexp, str is divided where the pattern matches. Whenever the p