String.replaceAll() 的问题

重新发~

各位英雄,


我希望将java string当中的换行符("\n")写在生成的javascript当中,例如:

如果有String =
"test\nmore"

我希望在生成的javascript中有

t =
"test\nmore"

而不是

t =
"test
more
" //这样javascript会出错。

不知我说清了没有。那位有好办法?



我用
out.println("template[" + i + "] = \"" + pct.getTemplate().replaceAll("\n", "\\n") + "\"");



不过没有达到效果。

老兄,你replaceAll替换的是换行符,不是"\n"这个串

System.out.println("= \"" + "\na".replaceAll("\n", "\\\\n") + "\"");

= "\na"

多谢sinio_feng!

不过为什么用4个\呢?

也不理解。不过是这个问题已经我也遇到过。
估计是正则替换的问题吧。

System.out.println("= \"" + "\na".replaceAll("\n", "\\\\n") + "\"");中

"\na".replaceAll("\n", "\\\\n") 返回的结果是: "\\na",replaceAll是把"\n"替换成"\\n",但是表达"\\n"要用"\\\\n"来表示。

"\\\\n"可以分解成"\\"+"\\"+"n" 就是\\n,"\\n"可以分解成"\\"+"n",就是\n。

对于\的个数为偶数是,没操作一次,\的个数就减半。

"\\\\n"在replaceAll时变成了"\\n"在println时就成了\n。

再次感谢各位!!