- 締切済み
数値をスラッシュで区切る方法
Perl で 「12345678」 の数値を 「1234/56/78」 と置き換えるには どうすれば良いでしょうか?
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- 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) と同じことになるね.
- _--_1l1_1_
- ベストアンサー率67% (102/152)
回答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/
補足
数値は固定ではないので、現在は以下のようにしてますが、 sprintf("%04d\/%02d\/%02d", substr($xxx1,0,4), substr($xxx2,4,2), substr($xxx3,6,2)); 他にもっとすっきりした変換方法はないでしょうか?