在MSBuild中,如何在终结符上拆分字符串?

时间:2016-10-04 21:27:01

标签: string split msbuild

其他问题MSBUILD Splitting text file into lines)提到了特定于实现的替代方案,但似乎没有一个直接解决如何根据轮次将简单的字符串属性拆分为项目组。

你怎么能这样做?尝试不起作用:

  • <ItemGroup> <SplitLines Include="$(SourceString.Split('\r\n'))" /> </ItemGroup>(分为'r''n'
  • <ItemGroup> <SplitLines Include="$(SourceString.Split('%0A%0D'))" /> </ItemGroup>(根本不拆分)

如果您感到好奇:SourceString是需要拆分的Exec命令的输出,因此ReadLinesFromFile不是一个选项。它无法输出到中间文件,因为文件系统很慢,而且需要由关心文件操作的构建进程使用。

1 个答案:

答案 0 :(得分:1)

使用属性函数是可行的方法,您可以使用例如&#39; C#split string lines&#39;在您选择的搜索引擎中,然后翻译答案。这提出了this SO question,Regex.Split方法最容易实现:

<ItemGroup>
  <SplitLines Include="$([System.Text.RegularExpressions.Regex]::Split(`$(SourceString)`, `\r\n|\r|\n`))" />
</ItemGroup>