你知道转义吗。\\实际上是前一个是转义字符,表示后一个字符不是他通常的含义。
在C或JAVA中\的通常含义就是转移字符,\\表示他后一个\不是通常的含义,那他就是\本身了。还比如\n,表示后一个n不是通常的含义n这个字符,而是表示回车换行。类似的有很多:\t,\u088等等。

解决方案 »

  1.   

    windows的回车是\r\n吧,你改成这个try一下
      

  2.   

    也可以改成这样子,还便于阅读.
    var v='<a>\
     <b>\
      内容有回车\
         是啊\
      </b>\
    </a>';
    这样实现
    s=s.replaceAll("[\\r\\n]+","\\\\n");
    [\\r\\n]+ 表示所有的回车换行
      

  3.   

    楼上的你这样不行吧?
    读出来的XML怎么随便改动呢?
    你能告诉我为什么要用\\\\n才能代码一个\n字符吗?to  beyond_xiruo:
    大哥,替换成<br>可就变成HTML标签了,拜托,这样没用的.
      

  4.   

    可以的就是把
    var v='<a>
     <b>
      内容有回车
         是啊
      </b>
    </a>';
    变成
    var v='<a>\
     <b>\
      内容有回车\
         是啊\
      </b>\
    </a>';
    不过要用正则表达式,需要jdk1.4以上
      

  5.   

    \在javascript里表示转行,下一行还当当前行对待,这样字符串就不会被中止了.
      

  6.   

    我碰上过这种问题,就是把\r\n替换成\n
    如果你是用java代码把字符串响应回去的就无所谓,但是你现在先组装成javascript就会有问题