2

変数を大文字で分割し、変数を次のように番号付けするにはどうすればよいですか

$Var = "HvacSystem8000Series";

必要な結果は次のとおりです。

$Var = "Hvac System 8000 Series";

コード:

$Var =~ s/^[A-Z]/ /igs;
4

2 に答える 2

6

コメントでの説明:

$Var = "HvacSystem8000Series";
$Var =~ s/(?<=[[:lower:]])   # Low case before,
          (?=[[:upper:]0-9]) # upper case or digit after;
          |                  # OR
          (?<=[0-9])         # digit before,
          (?=[[:upper:]])    # upper case after?
          /\ /xg;            # Replace with a space.
于 2012-12-05T16:39:49.183 に答える
0

単語と見なされるもののリストを収集し、それらをスペース区切りで結合するのが最も簡単です。

use strict;
use warnings;

my $var = "HvacSystem8000Series";
$var = join ' ', $var =~ /[A-Z]+[a-z]*|\d+/g;

print $var

出力

Hvac System 8000 Series
于 2012-12-06T00:05:08.870 に答える