powershell - 如何以最简单的方式从字符串中获取值
问题描述
我有两个字符串:
$server = "myhost1"
第二 - 无论如何,例如:
$server_mapping = "myhost1:aaaa,myhost2:bbbb,myhost3:cccc"
我需要一个解决方案来获取映射字符串,所以如果我的 $server = "myhost1" 我想为 "myhost2" - "bbbb" 获取 "aaaa"。
带映射的字符串可以用“:”或“|”分隔 或其他。真的我不在乎。我可以自己创建它。但它必须给我一个字符串。有人可以帮我吗?
解决方案
首先在适当的分隔符上拆分第二个字符串:
$delim = ','
$pairs = $server_mapping.Split($delim)
找到以您的参考字符串和 a:
作为前缀的那个:
$target = $pairs.Where({ $_.StartsWith("${server}:") }, 'First')
修剪/删除前缀部分:
$value = $target.Substring($server.Length + 1)
$value
现在保存 string 'aaaa'
,给定样本输入。
推荐阅读
- mysql - 如何加入两个表,但只包含右表中的每一行一次?
- swift - 使用用户定义的类
- c# - 如何遍历具有相同类型列表的对象列表并将每个对象添加到 TreeView?
- python - Matplotlib 的底图似乎不存储地图的中心,以便以后对数据进行过度绘制
- javascript - 如何将 JSON 文件数据导入 JS 文件并在 JS 控制台中输出 JSON 数据?
- c# - 如何为数组的第一个和第二个或最后一个和最后一个元素发送电子邮件
- amazon-s3 - 将 ffmpeg 转码结果流式传输到 S3
- awk - 如果 2 列中的值相同,则选择当前行和上一行
- java - 并发请求的 repo 类线程安全吗?- 弹簧靴
- visual-studio-code - 控件标记/悬停时查看控制器源