"ID","Full Name","Age"
"1","Jone Micale","25"
从这里我创建的,现在我想仅从删除双引号的CSV文件样本ID
和Age
列的值。
我尝试不同的方法,但我不希望创建一个新的文件出来。 我只是想更新使用PowerShell V1的改变文件。
"ID","Full Name","Age"
"1","Jone Micale","25"
从这里我创建的,现在我想仅从删除双引号的CSV文件样本ID
和Age
列的值。
我尝试不同的方法,但我不希望创建一个新的文件出来。 我只是想更新使用PowerShell V1的改变文件。
Export-Csv
将始终把双引号各个领域,所以你必须删除不需要的报价艰辛的道路。 这样的事情可能工作:
$csv = 'C:\path\to\your.csv'
(Get-Content $csv) -replace '^"(.*?)",(.*?),"(.*?)"$', '$1,$2,$3' |
Set-Content $csv
正则表达式崩溃:
^
和$
分别匹配的字符串的开头和结尾( Get-Content
返回与该文件中的线的阵列)。 "(.*?)"
匹配的是两个双引号之间的文字和一组捕获比赛(不包括双引号)。 ,(.*?),
匹配的是两个逗号之间文本并拍摄一组在比赛中(包括双引号)。 $1,$2,$3
替换匹配的字符串与从匹配的逗号分隔的第一,第二和第三组。