Powershell Regex取代

Ran*_*tta 1 regex powershell

球队,

我在Windows中有一个文件,其内容如下所示:

460 ls

461 cd ..

462 ls

463 cd ubuntu /

464 ls

465 cd测试/

466 ls

467 cd ..

468 openvpn

我想删除开头存在的所有数字并获取实际内容.

我试过了 :

$var= Get-Content C:\Scripts\test.txt
$var.replace("/[4 6]/","");

$var.replace("/[4 6]/","");

($var.replace("4","")).Replace("6","")
Run Code Online (Sandbox Code Playgroud)

但是有可能为此获得一些正则表达式解决方案.

Wik*_*żew 5

逐行处理文件时,您可以使用以下模式:

$var -replace '^[\s\d]+'
Run Code Online (Sandbox Code Playgroud)

请参阅正则表达式演示

将整个文件作为一个字符串处理时,您需要使用

$var -replace '(?m)^[\p{Zs}\t\d]+'
Run Code Online (Sandbox Code Playgroud)

为了不溢出线.查看.NET正则表达式演示.

细节

  • ^- 输入(?m)的开始(在模式开始时使用,^匹配输入的开始和每行的开始)
  • [\s\d]+- 一个或多个空格(\s)或数字(\d)
  • [\p{Zs}\t] - 匹配任何水平空格.

在此输入图像描述