在Powershell(v2,如果它很重要),它可以分割可变长度的字符串的分隔符?我的输入文件由行组成,其中每个字段由一个或多个制表符分隔,以保留整齐的列。没有引导标签。我以为你可以在分隔符规范使用正则表达式,所以我尝试:Powershell:在多个字符上分割
get-content $INFILE | foreach-object {
$LINE = $_.split("`t*");
$F1 = $LINE[0]
$F2 = $LINE[1]
$F3 = $LINE[2]
. . .
}
如果只有一个每个字段之间的选项卡,它的工作原理是必需的。如果有两个或更多,则将每个视为一个单独的分隔符,并且$ LINE的某些成员保留为空。
你确定它不是因为'*'?大多数正则表达式风格将匹配两次'\ t'这样的表达式:一次用'\ t'和另一个用空字符串。用'+'替换它(这就是你想要的行为)。 (当然,如果有多个'\ t',它将首先匹配所有的字符串,然后是一个空字符串) – Loamhoof 2013-04-23 12:48:02
感谢您的想法,但“t +”的确如此。 – rojomoke 2013-04-23 13:09:50