首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > J2EE开发 >

求java正则表达式去掉xml中多余的空格,该怎么解决

2012-03-30 
求java正则表达式去掉xml中多余的空格兄弟有一个xml文本,样例如下:ccc code3100/cc code510

求java正则表达式去掉xml中多余的空格
兄弟有一个xml文本,样例如下:
<cc>
  <c code="3">100</c>
  <c code="5">100</c>
</cc>

这个文本如果去掉换行符,则是
<cc> <c code="3">100</c> <c code="5">100</c></cc>

我想用正则表达式去掉<cc> <c code="3">和</c> <c code="5">之间的空格,但是不知道怎么写,求教大家了。

[解决办法]
String a="E:/A S3/pengqi/Shoping/src/ckstudio/db/"; 

a.replaceAll("/","\\");

不知道合不合适你的要求
[解决办法]

Java code
public class Replacement {    public static void main(String[] args) {        String str =            "<cc>\r\n" +            "  <c code=\"3\">100</c>\r\n" +            "  <c code=\"5\">100</c>\n" +            "</cc>";                System.out.println(str);        System.out.println();                str = str.replaceAll("(?<=>)\\s+(?=<)", "");        System.out.println(str);    }}
[解决办法]
为了不把标签中元素中纯空格替换掉的话(像下面 /cc/c[@code='5'] 中的空格),可以改成这样:

Java code
public class Replacement {    public static void main(String[] args) {        String str =            "<cc>\r\n" +            "  <c \n" +            "  \r\n\t" +            "\r\n" +            "\t  code=\"3\">   \n" +            "   100\t   \r\n" +            " \n" +            "  </c>\r\n" +            "  <c code=\"5\"> </c>\t\n" +            "\n  \t\n\t" +            "</cc>";                System.out.println(str);        System.out.println();                str = str.replaceAll("[\\s&&[^\r\n]]*(?:[\r\n][\\s&&[^\r\n]]*)+", "");        System.out.println(str);    }} 

热点排行