MSBuild 在下划线符号之前获取属性子字符串 [英] MSBuild getting property substring before underscore symbol

查看:22
本文介绍了MSBuild 在下划线符号之前获取属性子字符串的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

在 MSBuild 中,我有一个值为 Name_Something 的属性.如何获取此属性的名称部分.

In MSBuild I have a property which value is Name_Something. How can I get name part of this property.

推荐答案

使用 MSBuild 4

如果您使用 MSBuild 4,则可以使用新的闪亮的 property函数.

<PropertyGroup>
  <MyProperty>Name_Something</MyProperty>
</PropertyGroup>

<Target Name="SubString">
  <PropertyGroup>
    <PropertyName>$(MyProperty.Substring(0, $(MyProperty.IndexOf('_'))))</PropertyName>
  </PropertyGroup>

  <Message Text="PropertyName: $(PropertyName)"/>
</Target>

使用 MSBuild

4

您可以使用 MSBuild 社区任务

<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 在下划线符号之前获取属性子字符串的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆