2013-08-27 89 views
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) 

回答

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" 

所以,如果你想在 「RelevantData」,那麼從這個SO answer你可以做這樣的事情

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

,甚至更好。

PS C:\> $validationVar | % {$_.Split('"')[1]} 
    relevantData 
1

我會使用-replace用正則表達式:

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

$validationVar -replace $pattern, '$1$2'