2016-10-04 5 views
1

その他の質問MSBUILD Splitting text file into lines)には、実装固有の選択肢が記載されていますが、単純な文字列プロパティをエンド・ラインに基づいてアイテム・グループに分割する方法を直接扱うものはありません。MSBuildでは、エンド・ラインで文字列を分割する方法は?

どうすればいいですか?動作しませんでした試み:

  • <ItemGroup> <SplitLines Include="$(SourceString.Split('\r\n'))" /> </ItemGroup>'r'または'n'に分割)
  • <ItemGroup> <SplitLines Include="$(SourceString.Split('%0A%0D'))" /> </ItemGroup>(すべてで分割されません)あなたがいる場合には

好奇心:SourceStringは、分割が必要なExecコマンドの出力です。したがって、ReadLinesFromFileはオプションではありません。ファイルシステムが遅く、ファイル操作を気にするビルドプロセスで使用する必要があるため、中間ファイルに出力することはできません。

答えて

1

プロパティ関数を使用する方法があります。たとえば、次のようにしてsulutionsを検索できます。あなたの検索エンジンで「C#split strings lines」を選択して、その答えを翻訳します。これはthis SO questionとなり、Regex.Splitメソッドは実装が最も簡単です。

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

完璧な答えです。ありがとう! – Josh

関連する問題