【问题标题】:Replace data source in a connexion string替换连接字符串中的数据源
【发布时间】:2019-05-23 14:37:41
【问题描述】:

在这个字符串中:

“数据源=srv1-a.be.com;初始目录=db1;提供者=SQLNCLI11;集成安全=SSPI;”

我想用 PowerShell 脚本将数据源名称替换为 localhost,无论数据源名称是什么。

使用以下代码,字符串在 localhost 之后被截断!
我得到结果→Data Source=localhost

"Data Source=srv1-a.be.com;Initial Catalog=db1;Provider=SQLNCLI11;Integrated Security=SSPI;" -replace  '(?<grp1>Data Source=)(.*)', '${grp1}localhost'

结果应该是:

“数据源=localhost;初始目录=db1;提供者=SQLNCLI11;集成安全=SSPI;”

【问题讨论】:

    标签: powershell


    【解决方案1】:

    我稍微修改了你的-Replace操作:

    "Data Source=srv1-a.be.com;Initial Catalog=db1;Provider=SQLNCLI11;Integrated Security=SSPI;" -replace '(?<=Data Source=)[^;]+','localhost'
    

    我正在使用正向向后查看(?&lt;=) 来查找Data Source= 字符串并将位置设置在该位置(= 之后的字符)。 [^;]+ 匹配一个或多个从当前位置开始不是; 的连续字符。然后我们只是简单地将匹配的字符串替换为localhost。结果,只有服务器名称被匹配和更新。

    【讨论】:

      猜你喜欢
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 2010-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-04-16
      相关资源
      最近更新 更多