替换值 replaceregexp 任务时删除反斜杠(" \")。下面是代码示例。
<replaceregexp
match="${search.expression}"
replace="${replace.expression}"
flags="mg">
<fileset dir="${file.directory}" includes="${file.search}" />
</replaceregexp>
任务的输入是:
[echo] Search expression -- ^.*name="SqlServerConnectionString".*$
[echo] Replace expression -- <add name="SqlServerConnectionString" connectionString="Data Source=localhost\MSSQLSERVER2016;Initial Catalog=DBName;user id=User;password=PWD" providerName="System.Data.SqlClient"/>
以下是替换值:
<add name="SqlServerConnectionString" connectionString="Data Source=localhosMSSQLSERVER2016;Initial Catalog=DBName;user id=User;password=PWD" providerName="System.Data.SqlClient"/>
请注意localhost\MSSQLSERVER2016
和localhosMSSQLSERVER2016
我需要按原样替换输入字符串。有人可以帮我这个吗?
答案 0 :(得分:0)
由于Ant的基于Java的代码解析字符串的方式,在这种情况下,您实际上需要双转义反斜杠。只需将替换字符串更改为:
即可解决此问题<add name="SqlServerConnectionString" connectionString="Data Source=localhost\\\\MSSQLSERVER2016;Initial Catalog=DBName;user id=User;password=PWD" providerName="System.Data.SqlClient"/>