Powershell正则表达式:仅使用制表符替换多个空格

时间:2013-06-10 11:45:35

标签: regex powershell

这是一个类似于此C#问题中提出的问题的Powershell问题: C# Question Link

我在文本文件中修改了长度可变的宽度列数据,所以我想用制表符分隔数据。为此,我想使用Powershell读入文件,使用Regex表达式仅使用制表符替换多个空格,保持行尾不变并将其输出到临时文件。然后我会将其重命名为原始版本。

我在网上搜索过,似乎只能找到点点滴滴。对此的任何帮助将不胜感激!

2 个答案:

答案 0 :(得分:5)

  1. 获取内容

    $content = [IO.File]::ReadAllText('foo.txt')
    
  2. 用一个标签替换至少两个空格:

    $content = $content -replace ' {2,}', "`t"
    
  3. 回写文件

    [IO.File]::WriteAllText('footab.txt', $contents)
    

答案 1 :(得分:3)

gc .\0.txt  | 
 % { $_ -replace '  +',"`t" } |   
     set-content .\temp.txt