Извлечь число из строки в MSBuild

Я хотел бы извлечь номер из строки в MSBuild.

Как это сделать, используя встроенные задачи или MSBuild.Community.Tasks? (RegexMatch может делать, но как?)

Пример: у меня есть строка

agent0076

и я хотел бы выйти из числа без начальных нулей:

76

Ответы

Ответ 1

Использование функции свойств 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>

Ответ 2

Регулярное выражение очень просто \d+. Если у вас есть соответствующая строка, вы можете использовать int.Parse для извлечения значения.