如何删除powershell中的部分字符串?

时间:2018-04-25 09:39:55

标签: string powershell

这是一个项目列表,大约300行。我想使用PowerShell从每一行切断(ID:...)。

目前,我有:

BlockService API (ID: Projects-1)
BlockService 1 (ID: Projects-903)
CheckService ScheduledJob (ID: Projects-620)
Checkout Archibus (ID: Projects-96)
BackOffice Service (ID: Projects-12)

我需要得到:

BlockService API
BlockService 1
CheckService ScheduledJob
Checkout Archibus
BackOffice Service

我不知道如何处理TrimStart和TrimEnd,因为我无法得到理想的结果......有什么建议吗?

2 个答案:

答案 0 :(得分:2)

您可以在PowerShell中使用正则表达式替换部分字符串:

$s = "BlockService API (ID: Projects-1)"
$s -replace "\(ID.*\)",""

"BlockService API (ID: Projects-1)" -replace "\(ID.*\)",""

答案 1 :(得分:1)

我不确定您为什么要使用Trim方法。如果你有projects.txt文本文件中的项目,你可以改为:

Get-Content ".\projects.txt" | ForEach-Object {($_ -split " \(ID:")[0]}