将纯文本文件转换为管道分隔的CSV文件

时间:2014-10-22 08:21:20

标签: powershell-v3.0

我需要每天转换数千行的Plain / Flat Text文件,我想将它转换为使用PowerShell进行管道分隔。

sample data
6790001009100044019161020140000000892200041962020100104810000000001CARD PAR                                          219293948539475161020111610201440000200
-first Pipe at 9
-second Pipe at 18
-third at 26
-fourth at 39
-fifth at 45
-sixth at 55
-seventh at 57
-eight at 67
-ninth at 117
-tenth at 157

enter code here

如何将此文件转换为管道分隔文件。

1 个答案:

答案 0 :(得分:-1)

您可以使用Insert()方法。它会在所需位置的文本中插入字符。还有其他方法可以做到这一点,例如使用RegEx

$Positions=@(9,18,26,39,45,55,57,67,117,157)
$dat = '6790001009100044019161020140000000892200041962020100104810000000001CARD PAR                                          219293948539475161020111610201440000200'

$Positions | foreach {
    $dat=$dat.Insert($_,'|')
}
$dat

请注意,如果第一个参数大于文字长度,则Insert()将失败。