我正在尝试使用MSBuild社区任务从OutputPath的末尾删除斜杠
这是我到目前为止所做的。
<RegexReplace Input="$(OutputPath)" Expression="\$" Replacement="" Count="1">
<Output ItemName="FormattedOutputPath" TaskParameter="Output" />
</RegexReplace>
<Message Text="@(FormattedOutputPath)"/>
不幸的是,该消息只返回我的路径,结尾处有斜杠。 路径为C:\ MyDirectory \
看起来我的表情不正确
有人可以帮忙吗?
答案 0 :(得分:3)
Slash用作转义字符,所以在模式中你必须用另一个斜杠来转义斜杠字符:
<RegexReplace Input="$(OutputPath)" Expression="\\$" Replacement="" Count="1">
<Output ItemName="FormattedOutputPath" TaskParameter="Output" />
</RegexReplace>
<Message Text="@(FormattedOutputPath)"/>
为了更好地理解转义,请参阅以下示例:
$
表示行尾/字符串\$
代表美元符号字符\\
代表斜线字符\\$
表示行/字符串