从字符串中删除最后两个单词

时间:2019-08-08 12:15:39

标签: powershell replace split

我想从下面的字符串中删除最后两个单词

enter image description here

  

“ BIOS更新-惠普”

也应该删除,但是我通过执行

使该部分正常工作
$HPBIOSs.name.replace('BIOS Update - Hewlett-Packard','').trim()

哪个给我:

enter image description here

我通过以下方式使其正常工作:

"$(([string]$HPBIOSs.name.replace('BIOS Update - Hewlett-Packard','').Split(" ")[0..($HPBIOSs.name.replace('BIOS Update - Hewlett-Packard','').Split(" ").count-3)]).Trim())"

是否有更好的存档方法?我在switch语句中使用它,所以我希望在一个衬里使用它

1 个答案:

答案 0 :(得分:1)

您可以为此使用正则表达式layers.Dense(n)

-replace

说明:

  • $HPBIOSs.name -replace "(\s\S+){2}$" 匹配一个空格字符
  • \s匹配任何非空白字符一次或多次(\S+
  • +{2}中的捕获组精确匹配两倍。
  • ()在字符串末尾断言位置