使用MSBuild计算字符(在我的情况下为'\')出现在字符串中的最简单方法是什么?我尝试使用Split(\
)无济于事。
答案 0 :(得分:4)
MsBuild 4.0允许使用属性函数http://msdn.microsoft.com/en-us/library/dd633440.aspx
您可以使用它来分割字符串。然后,您必须将长度减去1以获得出现次数。
<Target Name="SplitCount">
<PropertyGroup>
<path>test\document\home</path>
</PropertyGroup>
<PropertyGroup>
<test>$(path.Split('\').length)</test>
</PropertyGroup>
<Message Text="occurrence count: $([MSBuild]::Subtract($(test), 1))"><Message>
</Target>
答案 1 :(得分:1)
在MSBuild Community Tasks中,有一个RegexMatch任务可以为您提供一个列表,然后您可以对其进行计数。
另一种选择是编写自己的自定义任务。然后像这样添加一点Linq:
string input = "This \\ is \\ a \\ test";
var items = (from c in input where c == '\\' select c).ToList();
var count = items.Count;