0

这是我的数组:

eth1
eth12
eth5
eth11

当我的字符串包含 1 到 9 之间的数字时,我想在之前添加一个 0,以获得这样的数组:

eth01
eth12
eth05
eth11

我怎样才能做到这一点?我不知道如何修改这样的字符串:/

谢谢

4

3 回答 3

9

像这样:

$if = 'eth1', 'eth12', 'eth5', 'eth11'
$if -replace '(\D+)(\d)$', '${1}0$2'
于 2013-07-18T12:37:36.417 回答
4

另外的选择:

$if -replace '(?<=\D)(\d)$', '0$1'
于 2013-07-18T13:53:01.903 回答
1

比 Ansgar 更曲折的方式 :)

$a=@("eth1","eth12","eth5")

$a|%{
    $slice=$_.split("h");
    if([int]$slice[1] -le 9){
        $slice[1]="0"+$slice[1]
    }
join-string -strings $slice -separator("h")
}
于 2013-07-18T12:43:34.447 回答