2

のような番号があり600000ます。2桁ごとにスペースを挿入したい。どうすればいいですか?結果は になります60 00 00

4

4 に答える 4

7

12345なるべきなら、12 34 5私はお勧めします

s/..(?!\z)\K/ /sg

(?!\z)、末尾にスペースを追加しないようにします。


12345になる必要がある場合は1 23 45、お勧めします

s/(?!^)(?=(?:..)+(?!.))/ /sg

(?!^)先頭にスペースを追加しないようにします。

これはあまり効率的ではありません。入力の方が効率的かもしれません。reverse最初のソリューションを使用してから、出力を使用してreverseください。

于 2013-01-29T20:05:49.650 に答える
3

これを試して:

$number = '600000';
$number =~ s/(\d{2})(?!$)/$1 /g;
print $number;

(\d{2})「2桁の数字」を意味します。(?!$)数字の後にスペースが必要ないため、「文字列の末尾が直後でない限り」を意味します。

于 2013-01-29T19:36:29.487 に答える
2

別のオプションは次のとおりです。

use strict;
use warnings;

my $number = 600000;
my $spacedNum = join ' ', $number =~ /..?/g;
print $spacedNum;

出力:

60 00 00
于 2013-01-29T20:19:45.613 に答える