在 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