require 'jcode'def my_truncate(str,len)
if str.jlength > len
str.each_char[0..(len-1)].to_s + '...'
else
return str
end
endp my_truncate("rubyで日本語文字列を指定文字数切り出す",10)
=> "rubyで日本語文字..."
こっちの方がスマートかも
"rubyで日本語文字列を指定文字数切り出す"[/.{10}/]
=> "rubyで日本語文字"
いやー。本当に2バイト文字はfuckですね。