2012-12-05 47 views
2

我怎么能在大写字母和数字我的变量看起来像这样拆分瓶盖和数字

$Var = "HvacSystem8000Series"; 

所需结果拆分变量是:

$Var = "Hvac System 8000 Series"; 

代码:

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

回答

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. 
+0

感谢choroba! – Bill

0

最简单的方法是收集您认为是单词的列表,并用空格分隔符将它们连接在一起。

use strict; 
use warnings; 

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

print $var 

输出

Hvac System 8000 Series