首页 > 解决方案 > 如何以最简单的方式从字符串中获取值

问题描述

我有两个字符串:

$server = "myhost1"

第二 - 无论如何,例如:

$server_mapping = "myhost1:aaaa,myhost2:bbbb,myhost3:cccc"

我需要一个解决方案来获取映射字符串,所以如果我的 $server = "myhost1" 我想为 "myhost2" - "bbbb" 获取 "aaaa"。

带映射的字符串可以用“:”或“|”分隔 或其他。真的我不在乎。我可以自己创建它。但它必须给我一个字符串。有人可以帮我吗?

标签: powershellpowershell-5.0powershell-5.1

解决方案


首先在适当的分隔符上拆分第二个字符串:

$delim = ','
$pairs = $server_mapping.Split($delim)

找到以您的参考字符串和 a:作为前缀的那个:

$target = $pairs.Where({ $_.StartsWith("${server}:") }, 'First')

修剪/删除前缀部分:

$value = $target.Substring($server.Length + 1)

$value现在保存 string 'aaaa',给定样本输入。


推荐阅读