0

我有一个如下所示的数据数组:

Resource file d:\path\relevantDtata\WebConfigResource.resx is missing value for key /configuration/addSettings/add[@key="relevantData"]
Resource file d:\path\relevantDtata\WebConfigResource.resx is missing value for key /configuration/addSettings/add[@key="relevantData"]
Resource file d:\path\relevantDtata\WebConfigResource.resx is missing value for key /configuration/addSettings/add[@key="relevantData"]
Resource file d:\path\relevantDtata\WebConfigResource.resx is missing value for key /configuration/addSettings/add[@key="relevantData"]
Resource file d:\path\relevantDtata\WebConfigResource.resx is missing value for key /configuration/addSettings/add[@key="relevantData"]

几乎所有这些数据都可以删除,除了一些较短的部分。

Resource file d:\path\可以走开

\WebConfigResource.resx is missing value for key /configuration/addSettings/add[@key="也可以。文件"]也可以。

目前所有这些数据都存储在$validationVar我猜我想玩子字符串,但我不完全确定到底需要发生什么。可能像下面这样?

$validationVar | % $_.substring(15)
4

2 回答 2

2
$var1 = 'Resource file d:\path\relevantDtata\WebConfigResource.resx is missing value for key /configuration/addSettings/add[@key="relevantData"]'

PS C:\Scripts\so> $var1.Substring($var1.IndexOf(""""),$var1.IndexOf("""]")-$var1.IndexOf("="""))
"relevantData"

所以你可以做这样的事情

$validationVar | % { $_.Substring($_.IndexOf(""""),$_.IndexOf("""]")-$_.IndexOf("="""))}

如果您想要“RelevantData”,甚至可以从这个SO answer获得更好的结果。

   PS C:\>  $validationVar | % {$_.Split('"')[1]}
    relevantData
于 2013-08-27T20:17:19.643 回答
1

我会使用-replace正则表达式:

$pattern = '^Resource file d:\\path\\(.*?)\\WebConfigResource\.resx is missing value for key /configuration/addSettings/add\[@key="(.*?)"\]'

$validationVar -replace $pattern, '$1$2'
于 2013-08-27T20:37:45.897 回答