如何在ant中避开反斜杠

如何在ant中避开反斜杠,ant,Ant,我正在写Ant脚本 我有一处房产,其价值如下: “C \:程序文件\\test1\\test2” Ant中是否有方法将其转换为: C:ProgramFiles\test1\test2您可以使用: 虽然我不确定这是否能满足你的要求。回显属性时反斜杠是否可见 在任何情况下,要使用上述任务,您都必须安装ant contrib,只需编写如下任务: <project name="test" default="build"> <!--Needed for antcontrib-->

我正在写Ant脚本

我有一处房产,其价值如下: “C \:程序文件\\test1\\test2”

Ant中是否有方法将其转换为: C:ProgramFiles\test1\test2

您可以使用:

虽然我不确定这是否能满足你的要求。回显属性时反斜杠是否可见

在任何情况下,要使用上述任务,您都必须安装ant contrib,只需编写如下任务:

<project name="test" default="build">
<!--Needed for antcontrib-->
<taskdef resource="net/sf/antcontrib/antlib.xml"/>

<target name="build">

    <property name="path" value="C\:Program Files\\test1\\test2"/>
    <echo message="Path with slashes : ${path}"/>
    <propertyregex  property="removed.backslash.property"
                input="${path}"
                global="true"
                regexp="\\(\\|:)"
                replace="\1"
    />
    <echo message="Path with single slashes : ${removed.backslash.property}"/>
</target>

</project>
此外,您可以使用任何BSF语言:


如果您使用的是jre 1.6及以上版本

当echo时,反斜杠是可见的,我也尝试了你的解决方案。您的正则表达式似乎有一些问题?请尝试更新的答案。它应该是开箱即用的:)差不多了,我想把“\:”转换成“:”。查看我的组织帖子。非常感谢。我不太擅长正则表达式。你能解释一下正则表达式是如何工作的吗?非常感谢。你能看看我的另一个问题吗?
build:
 [echo] Path with slashes : C\:Program Files\\test1\\test2
 [echo] Path with single slashes : C:Program Files\test1\test2