rubyで日本語文字列を指定文字数切り出す


require 'jcode'

def my_truncate(str,len)
if str.jlength > len
str.each_char[0..(len-1)].to_s + '...'
else
return str
end
end

p my_truncate("rubyで日本語文字列を指定文字数切り出す",10)
=> "rubyで日本語文字..."


こっちの方がスマートかも


"rubyで日本語文字列を指定文字数切り出す"[/.{10}/]
=> "rubyで日本語文字"

いやー。本当に2バイト文字はfuckですね。