Извлечь число из строки в 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
для извлечения значения.