0

如果您有以下示例,如何使用 Linq 查询出所有以标记开头和结尾的字符串?

例子:

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

结果会以这样的可编号返回:

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

我已经将字符串拆分为一个数组,循环它,找到标记 $ 的所有索引,然后到达那里,但是我们如何在 Linq 中完成这个呢?有点难过。

4

1 回答 1

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);
}
于 2012-07-03T02:36:46.827 回答