Rubyで、「javaのStringUtils.abbreviate」的なこと

「長い文字列を…で省略」の話。

「javaにはcommons.langがあるんだぜ、StringUtils.abbreviateで一撃なんだぜ」と言われそうだ。そしてこれを「まつもとはRubyだからソレなんだ」と this られそうだ。

べつにぃ。

1 s = "Mewを5年以上ぶりくらいに使った、そして北陸新幹線開通記念にちょっとだけ富山弁してみた"
2 puts(s.gsub(/^(.{8}).*(.{8})$/, '\1...\2'))
3 s = "Mewを5年以上け富山弁してみた"
4 puts(s.gsub(/^(.{8}).*(.{8})$/, '\1...\2'))
5 s = "Mewを5年以上富山弁してみた"
6 puts(s.gsub(/^(.{8}).*(.{8})$/, '\1...\2'))
7 s = "Mewをた"
8 puts(s.gsub(/^(.{8}).*(.{8})$/, '\1...\2'))

実行するとこうなる:

1 Mewを5年以上...け富山弁してみた
2 Mewを5年以上...け富山弁してみた
3 Mewを5年以上富山弁してみた
4 Mewをた

ところで、こんなお馬鹿なことすんのに ActiveRuby か mingw版か迷ったり linux 機にラジバンだりとか virtualBox とか寒気がしたので、こんなん使ってみた: