From: Koji Arai Date: 2003-06-01T13:20:25+09:00 Subject: [ruby-list:37743] Re: 日本語stringの切り分け 新井です。 In message "[ruby-list:37742] 日本語stringの切り分け" on 01 Jun 2003 12:24:08 +0900, Yamamoto Dan wrote: > 団です。 > > 下記のようにsplitLenからatrArrayを求めたいのですが > 方法が浮かびません。よい方法はないでしょうか。 http://www.ruby-lang.org/ja/man-1.6/index.cgi?cmd=view;name=FAQ%3A%3A%C6%FC%CB%DC%B8%EC%A4%CE%BC%E8%A4%EA%B0%B7%A4%A4 の10.10 や 10.11 でいかがでしょうか? class String def jfold(len) raise ArgumentError if len <= 0 ary = nil right = self.delete("\r\n") while right and not right.empty? left, right = right.unpack("a#{len} a*") if /.\z/ !~ left right[0,0] = left[-1,1] left[-1,1] = '' end if block_given? yield left else ary ||= [] ary.push left end end ary end end str = 'aaaaaaaaああああああああaaaaaaaaaああああaaaaaaaあああ' attrArray = [] puts str.jfold(12) aaaaaaaaああ ああああああ aaaaaaaaaあ あああaaaaaa aあああ -- 新井康司 (Koji Arai)