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

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

「javaにはcommons.langがあるんだぜ、StringUtils.abbreviateで一撃なんだぜ」と言われそうだ。そしてこれを「javaは、javaなので、javaだ!」とぽめられそうだ。

 1 public class Aaa {
 2     public static void main(String[] args) {
 3       System.out.println(
 4           "Mewを5年以上ぶりくらいに使った、そして北陸新幹線開通記念にちょっとだけ富山弁してみた"
 5       .replaceAll("^(.{8}).*(.{8})$", "$1...$2"));
 6       System.out.println(
 7           "Mewを5年以上け富山弁してみた"
 8       .replaceAll("^(.{8}).*(.{8})$", "$1...$2"));
 9       System.out.println(
10           "Mewを5年以上富山弁してみた"
11       .replaceAll("^(.{8}).*(.{8})$", "$1...$2"));
12       System.out.println(
13           "Mewをた"
14       .replaceAll("^(.{8}).*(.{8})$", "$1...$2"));
15     }
16 }

実行するとこうなる:

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

ところで、こんなお馬鹿なことすんのに jdk 入れるとか linux 機に行ったりとか virtualBox とか寒気がしたので、こんなん使ってみた: