我有一个csv文件,其中包含与此类似的内容
"Some KIND of Test","[STATUS]","TESTNAME","VMNAME","TESTTME","SOME PARAMETER"
我正在尝试解析这个问题。我使用split
来获取STATUS
和TESTNAME
$col = $line.split('","') #used .split('`",`"') as well
$col.length #output value is 18
#cl = $line.split(',')
$cl.length #output value is 6
为什么我在这里看到两个不同的值。在这两种情况下,'
和","
都会出现相同的次数
好像我犯了一些基本的错误。我无法弄明白。任何帮助将不胜感激。 感谢
答案 0 :(得分:2)
only resolvable overload for String.Split()
将","
字符串参数视为字符数组,并在每次出现数组中的任何字符时进行拆分。
$col = $line -split '","'
如果您真的讨厌正则表达式,可以通过将第一个输入参数显式地转换为字符串数组来强制an overload of String.Split()
that takes strings as separators:
$col = $line.Split([string[]]@('","'),[System.StringSplitOptions]::None)
答案 1 :(得分:2)
为什么你不使用import-csv命令呢?
import-csv "yourpathtofile"
如果你真的想要使用get-content,你也可以使用它:
$string='"Some KIND of Test","[STATUS]","TESTNAME","VMNAME","TESTTME","SOME PARAMETER"'
$string | ConvertFrom-Csv -Delimiter "," -Header p1, status, testname, p4, p5 | select status, testname