2012-07-03 43 views
0

如果您有以下示例,如何查詢使用Linq以令牌開始和結束的所有字符串?使用Linq查找基於C#中的標記包裝的字符串

例子:

"<file type="log4net.Util.PatternString" value="$SomeKey$" /> 
<appendToFile value="true" /> 
<datePattern value="$AnotherOne$" /> 
<rollingStyle value="$YetAgain$" /> 
<layout type="$SomeloggingType$">" 

凡結果會回來的,象這樣的enumberable:

$SomeKey$ 
$AnotherKey$ 
$YetAgain$ 
$SomeloggingType$ 

我已經字符串拆分到一個數組,循環一下,發現的所有索引令牌$,並以那種方式到達那裏,但我們如何在Linq中完成這項工作? 有點難倒了。

回答

4

首先拆分文本分成多段,然後選擇所有啓動段,並與$結束:如果

var text = @"<file type=""log4net.Util.PatternString"" value=""$SomeKey$"" /> 
<appendToFile value=""true"" /> 
<datePattern value=""$AnotherOne$"" /> 
<rollingStyle value=""$YetAgain$"" /> 
<layout type=""$SomeloggingType$"">"; 

var result = text.Split(new[] { '"' }) 
    .Where(item => item.StartsWith("$") && item.EndsWith("$")); 

// Test the result 
foreach (var item in result) 
{ 
    Console.WriteLine(item); 
} 
+0

它是一個配置文件,其中的屬性值是什麼我們釣?我想我可能更準確。我會改變這個問題... –

+0

我已經更新了答案。 –

+0

好凱文!棒極了。 –

相關問題