替换字符串中的第一个字符

Fre*_*dén 4 powershell

我有一个CSV文件,我想用+46替换第一个0字符,但我不能按照我的意愿使用它.

我有以下代码可以工作,但它适用于所有零而不仅仅是第一个:

$csv = Import-Csv test.csv
$csv | ForEach-Object {
    $_.mobile = $_.mobile.Replace("0", "+46")
}
$csv | Export-Csv -Encoding "UTF8" new-test.csv -NoTypeInformation
Run Code Online (Sandbox Code Playgroud)

知道如何只在字符串中的第一个字符上工作吗?

von*_*ryz 6

发生这种情况String.Replace()将替换所有事件.

为了仅替换第一个,请使用正则表达式.通过使用行锚的开头^,替换仅限于字符串的开头.像这样,

$_.mobile = $_.mobile -replace "^0", "+46"
Run Code Online (Sandbox Code Playgroud)