0

我正在读取一个大的csv文件,Import-CSV并有一列具有以下格式的数据;v00001048v00019045v0036905。我想在 v 之后但在任何数字之前而不是零之前替换所有零(0),所以上面的文字变成了;v-1048v-19045v-36905。进行了大量搜索但没有成功的结果。

4

1 回答 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 回答