在MSBuild中,我有一个值为Name_Something的属性。如何获得此属性的名称部分。
最佳答案
使用MSBuild 4
如果使用MSBuild 4,则可以使用新的闪亮的property functions。
<PropertyGroup>
<MyProperty>Name_Something</MyProperty>
</PropertyGroup>
<Target Name="SubString">
<PropertyGroup>
<PropertyName>$(MyProperty.Substring(0, $(MyProperty.IndexOf('_'))))</PropertyName>
</PropertyGroup>
<Message Text="PropertyName: $(PropertyName)"/>
</Target>
使用MSBuild
您可以使用MSBuild Community Task的
RegexReplace
任务<PropertyGroup>
<MyProperty>Name_Something</MyProperty>
</PropertyGroup>
<Target Name="RegexReplace">
<RegexReplace Input="$(MyProperty)" Expression="_.*" Replacement="" Count="1">
<Output ItemName ="PropertyNameRegex" TaskParameter="Output" />
</RegexReplace>
<Message Text="PropertyNameRegex: @(PropertyNameRegex)"/>
</Target>
关于msbuild - MSBuild在下划线符号之前获取属性子字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3094496/