2012-06-28 92 views
2

我想使用的MSBuild社區任務從OutputPath的MSBuild社區TAKS REGEXREPLACE從路徑

這個月底刪除斜槓刪除斜槓是我到目前爲止所。

<RegexReplace Input="$(OutputPath)" Expression="\$" Replacement="" Count="1"> 
<Output ItemName="FormattedOutputPath" TaskParameter="Output" /> 
</RegexReplace> 
<Message Text="@(FormattedOutputPath)"/> 

不幸的是,該消息只是返回我的路徑仍然與斜線結束。 路徑是C:\ mydirectory中\

它看起來像我的表達是不正確

誰能幫助?

+0

嘗試'表達=「\\ $」' – Qtax

回答

3

斜槓使用作爲轉義字符,所以在模式必須由另一個斜線逃脫斜線字符:

<RegexReplace Input="$(OutputPath)" Expression="\\$" Replacement="" Count="1"> 
    <Output ItemName="FormattedOutputPath" TaskParameter="Output" /> 
</RegexReplace> 
<Message Text="@(FormattedOutputPath)"/> 

爲了更好地理解逃逸看下面的例子:

  1. $代表結束的線/字符串
  2. \$代表美元符號字符
  3. \\表示反斜槓字符
  4. \\$表示在一行的末尾反斜槓字符/字符串
+0

謝謝 - 我已經測試了表達上一個javascript正則表達式測試儀和它的工作,但當我看着它時,我猜測這可能就是這種情況。再次感謝 :) – sianabanana