本帖最后由 xiaolinyouni 于 2011-08-19 08:55:28 编辑

解决方案 »

  1.   

    1.String str = "123446.pdf|78593.pdf|56323.pdf";
    String[] str1 = str.split("[|]");//\\|也可以
    System.out.println(Arrays.toString(str1));
      

  2.   

    第1个问题:str.split("\\|");第2个问题:/^[0-9]+[.0-9]*(\\|[0-9]+[.0-9]*\\|[0-9]+[.0-9]*)?$/
      

  3.   

    str.split("\\|"); 计算日期就可以了
      

  4.   

    split()JAVA里有,还有正则都可以
      

  5.   

    for example
    String str = "123446.pdf|78593.pdf|56323.pdf";
    String[] sa = str.split("[|]");
    Date d = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("d-M-yyyy");
    for (int i=0; i<sa.length; i++) {
        //sa[i] = String.format("%td-%tm-%tY/%s", d, d, d, sa[i]);
        sa[i] = sdf.format(d) + "/" + sa[i];
        System.out.println(sa[i]);
      

  6.   

    没看到还有第二问String[] ss = {"4455|52.3|46", "42.3|6|42", "556|52|42.6", "42", "42.3"};
    for (String s : ss) {
        if (! s.matches("\\d+([.]\\d+)?([|]\\d+([.]\\d+)?)*")) {
            System.out.printf("%s invalable\n", s);
        } else {
            System.out.printf("%s OK\n", s);
        }
    }
      

  7.   

    不知道LZ的意思,是不是这样?
    String str = "4455|52.3|46";
    String[] ss = str.split("[|]");
    for (String s : ss) {
        if (! s.matches("\\d+([.]\\d+)?")) { 
            System.out.printf("%s invalable\n", s);
        } else {
            System.out.printf("%s OK\n", s);
        }
    }
      

  8.   


    不是,这是两个独立的问题,不过,多谢阿宝了,从我刚开始接触java,你就在热心的回答我的问题临时总结帖
    谢谢各位了,到现在第四天终于把这个项目修改完毕,累死我了。
    第一个问题,确实是用split解决了。
    第二个问题由于多次测试没有通过,结果-----------------------------
    ...我就把这个检测功能给注释掉了。
    过会,我会测试每一个楼,看看哪些代码是正确的,然后分配分数。
      

  9.   

    总结帖,
    经过测试楼上的代码对于相应的字符串处理都能得到正确的结果。
    但是不知道为什么我写入在jsp页面中的javascript就不行。
    总之,谢谢各位,结贴!

    -----------------------------
    ...