我正在读取一个大的csv文件,Import-CSV
并有一列具有以下格式的数据;v00001048、v00019045或v0036905。我想在 v 之后但在任何数字之前而不是零之前替换所有零(0),所以上面的文字变成了;v-1048、v-19045或v-36905。进行了大量搜索但没有成功的结果。
问问题
1448 次
1 回答
2
如果您有一个包含如下数据的 CSV(例如“data.csv”):
Property1,Property2,Property3
SomeText,MoreText,v00001048
Property3
然后,您可以使用此技术替换前导零:
$data = Import-csv .\data.csv
$data |
ForEach-Object {
$_.Property3 = $_.Property3 -replace "(?<=v)0+(?=\d+)","-"
}
如果该属性没有任何前导零以开头(例如v1048
),这将使其保持不变。如果您仍然希望它插入“-”,则将正则表达式模式更改为:
"(?<=v)0*(?=\d+)"
于 2018-04-12T20:21:11.387 回答