Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
String 如何删除powershell中的部分字符串?_String_Powershell - Fatal编程技术网

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

String 如何删除powershell中的部分字符串?,string,powershell,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) 我需要得到: Bloc

这是一个项目列表,大约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,因为我无法获得所需的结果…有什么建议吗?

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

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


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

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


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

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

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

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

请更清楚地说明您希望字符串在修改前后的外观,并发布您现有的尝试请更清楚地说明您希望字符串在修改前后的外观,并发布您现有的尝试。我尝试了各种选项,但没有找到解决方案。我过去很少使用PowerShell。这也适用于我,谢谢!嗯,我尝试了各种选择,但没有找到解决办法。我过去很少使用PowerShell。这也适用于我,谢谢!为什么将
^
(即标记字符串的开头)和
$
(即标记字符串的结尾)添加到正则表达式时,它不再工作?例如,
“BlockService API(ID:Projects-1)”-替换“^\(ID.*)$”,“
不起作用。这是为什么?要使用“^”和“$”,需要将整个表达式更改为“^.*\(ID.*\)$”,以便输入字符串再次匹配。正如您已经提到的,^标记字符串的开头,但您的输入字符串不是以(ID)开头的。为什么在将
^
(即标记字符串的开头)和
$
(即标记字符串的结尾)添加到正则表达式时,它不再工作?例如,
“BlockService API”(ID:Projects-1)“-替换“^\(ID.*\)$”,“
不起作用。这是为什么?要使用“^”和“$”,需要将整个表达式更改为“^.*\(ID.*\)$”,以便输入字符串再次匹配。如前所述,^标记字符串的开头,但输入字符串不以(ID…)开头。。。