在 Powershell 中拆分和添加字符串
Splitting and Adding String in Powershell
我有以下问题:
我有一个字符串,比如$word ='ABC.DEF.GHI'
我想在点处将此字符串拆分为一个数组,然后添加一个字符串。期望的结果如下:
$arrayWordSplitted = 'ABC 123; DEF 123; GHI 123'
和$arrayWordSplitted[0] = 'ABC 123'
我尝试了 .split()- 方法,但我无法用它为每个元素添加。
我试过这样的事情:$wordSplitted = $word.split('.') + '123'
但是我得到了$wordSplitted='ABC; DEF; GHI; 123
如何在powershell中对所有元素进行拆分和添加?
我猜你正在寻找那个:
$wordSplitted=$word.split('.') | %{ $_ += ' 123' ; $_ }
一些细节:$word.split('.')
生成一个包含单词的字符串数组,我们通过管道 (|
) 将字符串数组传递给元素迭代器 (%{ }
)。在此迭代器中,我们将字符串 ' 123'
添加到字符串元素 ($_
),然后使用 ; $_
将其作为输出发回。因此,PowerShell 构建了一个 字符串数组 ,所有字符串都以 ' 123'
为后缀,并将其存储在 $wordSplitted
.
中
编辑: 你可以像@Olaf 那样减少它:
$wordSplitted=$word.split('.') | %{ $_ + ' 123' }
更详细一点的版本是这样的:
$word = 'ABC.DEF.GHI'
$SplittedWord = $word -split '\.'
$AddedStrings = $SplittedWord | ForEach-Object {$_ + ' 123'}
如果你想重新加入他们...
$arrayWordSplitted = $AddedStrings -join '; '
输出将是:
ABC 123; DEF 123; GHI 123
我有以下问题:
我有一个字符串,比如$word ='ABC.DEF.GHI'
我想在点处将此字符串拆分为一个数组,然后添加一个字符串。期望的结果如下:
$arrayWordSplitted = 'ABC 123; DEF 123; GHI 123'
和$arrayWordSplitted[0] = 'ABC 123'
我尝试了 .split()- 方法,但我无法用它为每个元素添加。
我试过这样的事情:$wordSplitted = $word.split('.') + '123'
但是我得到了$wordSplitted='ABC; DEF; GHI; 123
如何在powershell中对所有元素进行拆分和添加?
我猜你正在寻找那个:
$wordSplitted=$word.split('.') | %{ $_ += ' 123' ; $_ }
一些细节:$word.split('.')
生成一个包含单词的字符串数组,我们通过管道 (|
) 将字符串数组传递给元素迭代器 (%{ }
)。在此迭代器中,我们将字符串 ' 123'
添加到字符串元素 ($_
),然后使用 ; $_
将其作为输出发回。因此,PowerShell 构建了一个 字符串数组 ,所有字符串都以 ' 123'
为后缀,并将其存储在 $wordSplitted
.
编辑: 你可以像@Olaf 那样减少它:
$wordSplitted=$word.split('.') | %{ $_ + ' 123' }
更详细一点的版本是这样的:
$word = 'ABC.DEF.GHI'
$SplittedWord = $word -split '\.'
$AddedStrings = $SplittedWord | ForEach-Object {$_ + ' 123'}
如果你想重新加入他们...
$arrayWordSplitted = $AddedStrings -join '; '
输出将是:
ABC 123; DEF 123; GHI 123