IPv6アドレスの短縮 どう書く?org
の問題をといてみたが難しいので他の方の解答を見てみた。
どう書く?org 8349 horiuchi: Javaには、IPv6のアドレスも標準で...(IPv6アドレスの短縮) - 投稿の詳細
を見ると・・・あらら、こんなに簡単にかけるんだね。
ほんとJavaの標準ライブラリ知っているのと知らないのでは生産性ぜんぜん違うね。職場でも必死に半角英数字ふくむ、ふくまないをループで一文字ずつ処理している後輩を見ると悲しくなる。
Groovyで実装した解答を載せます。ああ、実質3行だw
def compressIpv6(address){ return java.net.InetAddress.getByName(address).hostAddress.replaceFirst("(^|:)(0:){2,}", "::") } println compressIpv6("1230:5670:0000:0000:0123:0000:0000:00ab") println compressIpv6("0000:0000:0000:0000:0000:0000:0000:0001")
ディスカッション
コメント一覧
どうも、fumokmmです。
使えるものは再利用が一番ですね。
車輪の再発明にならないよう、日頃から心がけています。
Javaはこういったライブラリが安定しているところがいいですね。
(私は敢えて再発明して腕を磨いてる日々ですが^^;)