Powershell在找到另一个字符串后提取字符串

博士

我正在寻找一种方法来查找文件中的字符串,然后提取该字符串与分隔符之间的所有内容。我可以从文件中取出LINE,但是我对如何从中取出想要的字符串有些困惑。

文件外的行是这样的:

<add key="ConnectionString" value="Data Source=xxxxxx;Initial Catalog=Database;Integrated Security=True" />

我可以找到“数据源=“,但我想返回“ xxxxxx”。这是我正在使用的:

((Get-Process -Name "db-engine").Path ) + '.Config' | Select-String -Path {$_} - Pattern 'Data Source='

这从上面给了我整个“添加密钥”行。

在此先感谢您的帮助!

编辑:感谢您的答复。经过更多的挖掘之后,看起来“更适当”的方法实际上是使用[xml]将文件的内容拉入xml对象。然后,我可以获取值并使用split将数据分解为所需的数据块。最终代码如下所示:

$configpath     = ((Get-Process -Name "db-engine").Path)
$linepath       = $configpath + ".Config"
[xml]$xmlfile   = get-content $linepath
$xmlvalue       = ($xmlfile.configuration.appSettings.add | where {$_.key -eq "ConnectionString"}).value
$server         = $xmlvalue.split(";=")[3]
$db             = $xmlvalue.split(";=")[5]  

仍然可以解决问题,但这似乎使我走上了正确的道路。拆分将输入分成一个数组,因此[x]允许我调用特定元素。在拆分中有多个定界符时,它会中断其中任何一个的输入。也许这可以在将来对其他人有所帮助。

谢谢大家的帮助!

培根钻头

就个人而言,我只是获取属性的值-可能使用带有Select-Xml的XQuery-然后将其分割为分号,然后使用ConvertFrom-StringData

$xml = [xml]'<add key="ConnectionString" value="Data Source=xxxxxx;Initial Catalog=Database;Integrated Security=True" />';
$ConnectionString = ($xml | Select-Xml -XPath '/add[@key="ConnectionString"]/@value').Node.'#text'
$DataSource = ($ConnectionString.Split(';') | ConvertFrom-StringData).'Data Source'

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

字符串包含另一个字符串

在另一个字符串的开头插入字符串

根据另一个字符串从字符串中提取数字

用另一个字符串环绕字符串

RegEx JS从另一个字符串中提取字符串匹配条件

使用re在另一个字符串中找到一个字符串

从一个字符读取字符串到另一个

在复杂字符串中的另一个字符串之后提取字符串

在另一个字符串之后获取字符串

如何在一个字符的第一次出现和另一个字符的第一次出现之间提取字符串?

使用getch后如何在另一个字符串的末尾连接一个字符串

熊猫:如何从另一个字符串中提取一个字符串

与另一个字符串比较时,如何从Python字符串中提取唯一子字符串?

从Javascript中的另一个字符串中提取字符串

groovy从另一个字符串中提取子字符串

使用grep从另一个字符串中提取字符串

查找一个字符串并预先提取字母以找到找到的字符串,直到另一个指定的字符串

根据存在另一个字符串在Python中提取字符串的子字符串

如何尽快找到另一个字符串中的特定字符串?

查找一个字符串,并在找到第一个字符串后替换另一个字符串

如何从另一个字符串php提取字符串

JavaScript获取字符串在另一个字符串中的最后一个字符的位置

如果字符串在另一个字符串内

基于python中的另一个字符串从列表中提取字符串

如何返回在另一个字符串中找到的字符串的索引?

如何提取字符串的前 X 个字符并将它们用于 C 中的另一个字符

从另一个字符串限制字符串

从另一个字符串 Javascript 中提取一个字符串

如何从另一个字符串中提取多个特定的字符串行?