我有一个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)
知道如何只在字符串中的第一个字符上工作吗?
发生这种情况String.Replace()将替换所有事件.
为了仅替换第一个,请使用正则表达式.通过使用行锚的开头^,替换仅限于字符串的开头.像这样,
$_.mobile = $_.mobile -replace "^0", "+46"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6094 次 |
| 最近记录: |