在MSBuild中从字符串中提取数字

16
我希望从MSBuild的字符串中提取数字。我应该如何使用内置任务或MSBuild.Community.Tasks来实现?(可能可以使用RegexMatch,但是如何使用?)
例如:我有以下字符串:
agent0076

我想获取数字,但不要前导零:

76
2个回答

22

使用MSBuild 4的属性函数

<Target Name="Regex">
  <PropertyGroup>
    <In>agent0076</In>
    <Out>$([System.Text.RegularExpressions.Regex]::Match($(In), `[1-9]\d*`))</Out>
  </PropertyGroup>

  <Message Text="Input : $(In) Output : $(Out)"/>
  <!-- Input : agent0076 Output : 76 -->
</Target>

是的,这在MSBuild 4中可以正常工作。但是在MSBuild 3.5中,我得到了输出:'[1-9]\d*' - Ole Lynge

-4
正则表达式非常简单:\d+。一旦你有了匹配的字符串,就可以使用int.Parse来提取值。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接