0

我正在运行 SQL 查询,需要从字段中提取机器名称。结果有多个用分号分隔的条目。我只关心 Server=PCName\SQL_Instance 的值。我正在使用的价值观看起来像......

Provider=SQLOLEDB;Server=PCName\SQL_Instance;SomeOtherCrap=moreWords;ThisGoes=OnAndOn
Proer=SQLOLEDB;Server=PCName\SQL_Instance;SsdgsdfomeOtherCrap=moreWords;TzfdzdfghisGoes=OnAndOn

server= 将始终包含我的 PC 名称(本地 Access DB 安装),即使有多行,它们都将相同。我真的只需要得到一次名字。虽然我已经将值拆分为 ; 我的大脑太炸了,无法弄清楚如何从结果中获取服务器名称。我确信这是非常明显的,因为价值是在盘子上交给你的,但我没有那么聪明,甚至无法弄清楚如何搜索答案。

4

1 回答 1

0

您可以使用 StartsWith("Server") 过滤掉所需的对象,然后在“=”和“/”上进行另一个拆分,使用 RegEx 可能更容易,但我喜欢拆分,例如:

 $string = "Provider=SQLOLEDB;Server=PCName\SQL_Instance;SomeOtherCrap=moreWords;ThisGoes=OnAndOn"
 $string.Split(";") | Where {$_.startswith("Server")}
 Server=PCName\SQL_Instance
 ($string.Split(";") | Where {$_.startswith("Server")}).split("=")[1].split("\")[0]
 PCName
于 2021-01-24T01:29:53.093 回答