有一段消息:<ERRID>SDFSDFDS</ERRID><MSG><34534>53fsfsdf</32/45</lkl</MSG><WARID>SDFSDFDS</WARID><MSG><34534>53fsfsdf</32/45</lkl</MSG><SUCID>SDFSDFDS</ID><SUCMSG><34534>53fsfsdf</32/45</lkl</MSG>......
 怎么用正则表达式  替换掉中间多余的 "<" 和 ">".  万分感谢!!!!!!!

解决方案 »

  1.   

    哪些是多余的?呵呵呵!全部<>之间的都不要吗?
    replaceAll("<[^>]+","")就可以吧
      

  2.   

    不行啊!!!
    例如: <ERR><ID>no_data_found</ID><MSG>No data found </1/    /   /N/     ></MSG></ERR>
    替换后效果: <ERR><ID>no_data_found</ID><MSG>No data found /1/    /   /N/     </MSG></ERR>
    只是中间的替换掉
      

  3.   

    那就先解析XML,然后再替换了。
      

  4.   

    这种除非你知道有多少层,要么还是只有解析了之后拿到No data found </1/ / /N/ >再来替换
      

  5.   

    不知道你到底想要输出什么,我列几种:1.只去掉<和>: String a = "<ERRID>SDFSDFDS</ERRID><MSG><34534>53fsfsdf</32/45</lkl</MSG><WARID>SDFSDFDS</WARID><MSG><34534>53fsfsdf</32/45</lkl</MSG><SUCID>SDFSDFDS</ID><SUCMSG><34534>53fsfsdf</32/45</lkl</MSG>......";
     System.out.println(a.replaceAll("<","").replaceAll(">",""));2.例如:<a>kk</a>  输出  akka
    String a ="<a>kk</a>"
    System.out.println(a.replaceAll("</","").replaceAll(">","").replaceAll("<", ""));3.只输出内容:例如<ERRID>SDFSDFDS</ERRID>  输出 SDFSDFDS
    String a = "<ERRID>SDFSDFDS</ERRID>";
    System.out.println(a.replaceAll("</?[^<]*>",""));试试看吧。
      

  6.   

    第二种的话,System.out.println(a.replaceAll("</?","").replaceAll(">",""));这样写也可以。
      

  7.   

    XML中tag之外不允许有 < 出现。