1

What's the easiest way to count the number of times a character ('\' in my case) appears in a string using MSBuild? I tried using Split(\) to no avail.

4

2 に答える 2

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>
于 2012-10-30T17:13:47.540 に答える
1

MSBuildコミュニティタスクには、リストを提供するRegexMatchタスクがあり、リストを数えることができます。

別のオプションは、独自のカスタムタスクを作成することです。次に、次のようにLinqを少し追加します。

string input = "This \\ is \\ a \\ test";
var items = (from c in input where c == '\\' select c).ToList();
var count = items.Count;
于 2012-10-30T15:59:51.073 に答える