使用正则表达式在Powershell中提取子字符串

时间:2019-06-17 18:17:28

标签: string powershell parsing

我在excel中有一个字符串,我需要从中提取一个子字符串

这是字符串的示例:

<\Text Name="Text5"><TextValue>Hostname:   hostnamehere</TextValue>

我是regex和powershell的新手,但是我试图找到一种方法来提取字符串的“此处的主机名”部分。它是可变长度的,因此索引编制将不可靠。

2 个答案:

答案 0 :(得分:1)

由于您更改了示例,所以我发布的注释代码将不起作用。 [咧嘴]这样,……

$InStuff = '<\Text Name="Text5"><TextValue>Hostname:   hostnamehere</TextValue>'

$InStuff.Split(':')[-1].Split('<')[0].Trim()

output = hostnamehere

如果您有一组示例字符串,则可能会把它们张贴在水上,以便可以安排代码来处理所需的变体。

答案 1 :(得分:0)

如果是xml,那将很简单

[xml]$xml = '<Text Name="Text5"><TextValue>Hostname:   hostnamehere</TextValue></Text>'
(-split $xml.text.textvalue)[1]

hostnamehere