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

时间:2010-06-05 23:39:29

标签: regex msbuild numbers

我想从MSBuild中的字符串中提取数字。

如何使用内置任务或MSBuild.Community.Tasks执行此操作? (RegexMatch可能会这样做,但是如何?)

示例:我有字符串

agent0076

我希望得到这个数字,而不是前导零:

76

2 个答案:

答案 0 :(得分:16)

使用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>

答案 1 :(得分:-3)

正则表达式非常简单\d+。获得与之匹配的字符串后,可以使用int.Parse提取值。