我有一个字符串,说:“5 3*3 4*1 6*3 14*4 3*2 2*3 4”
我希望这个字符串成为一个包含元素的数组:
@array =(“5”,“3”×3,“1”×4,“3”×6,“4”×14,“2”×3,“3”×2,“4”);
我猜有比这更好(更短)的方法:
$string = "5 3*3 4*1 6*3 14*4 3*2 2*3 4";
@array = split (/\s+/,$string);
foreach(@array) {
if ( /\*/ ) {
s/^(\d+)\*(\d+)/"$2" x $1/g;
} else {
print "$_\n";
$_ = '"'. $_ .'"';
}
}
编辑:这段代码实际上做了我在原始问题中所说的应该做的事情。但这实际上不是我想要的。我希望最终的数组看起来像:
@array = (5, 3, 3, 3, ...)