如何替换字符串中的单个字符?

时间:2016-09-21 22:27:22

标签: arrays string powershell

我在尝试将字符串作为输入从用户超级简单后替换为字符串中的字符,如下所示:

$thestring = Read-Host;

现在我想改变字符串的第二个字符。我不在乎第二个字母是什么字母,但是它需要设置为' a'。

我找到了替换所选字符的Replace()方法:

$thestring = $string.Replace('b','a');

但它只适用于某个角色。在C ++中,我只想说

之类的东西
thestring[1] = 'a';

我试图在PowerShell中找到相同的东西。

1 个答案:

答案 0 :(得分:2)

如果将字符串转换为字符数组,则可以在PowerShell中执行相同的操作:

[char[]]$char = $thestring
$char[1] = 'a'

使用-join operator将字符数组转换回字符串:

-join $char
$char -join ''

其他选项是Substring()方法

$thestring.Substring(0,1) + 'a' + $thestring.Substring(2, $thestring.Length-2)

regular expression replacements

$thestring -replace '^(.).(.*)', '${1}a${2}'