• 締切済み

数値をスラッシュで区切る方法

Perl で 「12345678」 の数値を 「1234/56/78」 と置き換えるには どうすれば良いでしょうか?

みんなの回答

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.4

あ, そうだ, 多分 sprintf("%04d\/%02d\/%02d", substr($xxx1,0,4), substr($xxx2,4,2), substr($xxx3,6,2)); は意味として join '/', substr($xxx1,0,4), substr($xxx2,4,2), substr($xxx3,6,2) と同じことになるね.

回答No.3

my $num = 12345678; $num =~ s!(\d{4})(\d{2})(\d{2})!$1/$2/$3!; print $num, "\n"; # 1234/56/78

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

それだとそんなにきれいにはならないねぇ. せいぜい / の前の無駄な \ を消すくらい.

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

1例としては s/12345678/1234\/56\/78/

dyo
質問者

補足

数値は固定ではないので、現在は以下のようにしてますが、 sprintf("%04d\/%02d\/%02d", substr($xxx1,0,4), substr($xxx2,4,2), substr($xxx3,6,2)); 他にもっとすっきりした変換方法はないでしょうか?

関連するQ&A