如何修剪一行中的单词

时间:2017-04-04 07:06:17

标签: powershell

有谁知道如何修剪它,以便我得到输出(Red Hat VirtIO)。我在下面尝试过,我只能输出红色。请帮忙

$KVMName = $KVM.split(" ")[0].split("=")[1].Trim()

此处$KVM值为@{devicename=Red Hat VirtIO Ethernet Adapter; driverversion=100.74.104.13200}

修剪后我希望输出为 Red Hat VirtIO

2 个答案:

答案 0 :(得分:3)

您可以使用简单的正则表达式

"Red Hat VirtIO Ethernet Adapter" -replace '\s+\w+\s+\w+$'

在你的情况下应该是:

$KVMName = $KVM.devicename -replace '\s+\w+\s+\w+$'

<强>解释

  • \w+匹配任何单词字符
  • $在字符串
  • 的末尾断言位置
  • \s+匹配任何空格字符

答案 1 :(得分:1)

$KVM=@{devicename="Red Hat VirtIO Ethernet Adapter"; driverversion="100.74.104.13200"} 

($KVM.devicename -split ' ', 4)[0..2] -join ' '