我有一个充满这样行的文件:
04:50:03 [SomeText] 04:54:05
04:54:33 [Some other text] 04:54:56
04:56:43 [Another text] 04:57:09
...
Run Code Online (Sandbox Code Playgroud)
我想删除两次之间的所有文本(只保留一个分号)并将所需的结果输出到另一个文件,如下所示:
04:50:03;04:54:05
04:54:33;04:54:56
04:56:43;04:57:09
...
Run Code Online (Sandbox Code Playgroud)
这是我用来匹配日期的正则表达式模式: \d{2}:\d{2}:\d{2}
如何使用 Powershell 实现这一目标?
由于您的时间戳位于每行的开头和结尾,请使用^和$来锚定它们,然后将它们包含在一个捕获组中并删除其他所有内容:
(Get-Content file.txt) -replace '^(\d\d:\d\d:\d\d).*?(\d\d:\d\d:\d\d)$','$1;$2'
Run Code Online (Sandbox Code Playgroud)