需求是这样的,读取一个文件,文件里都是:BGM+241+37985'
DTM+137:20080917:102'这样的语句,我要从中取道我需要的数据变成数据库里的字段
比如BGM+241+37985'中我要取到241 和 37985来插到实体类里的2个属性
功能是已经实现了。。但写的很破用了大量的for和if
不知道是否有什么好的方法来获取这些字段???
PS:这里的分隔符都是:和+

解决方案 »

  1.   

    要是我做的话,大概思路如下:
    1.先读入文件
    2.while(oneLine文件中的每一行) {
        oneLine.split("+:");//用+号和:号分割
        然后按照分割出的数组的顺序不同插入数据库
    }
      

  2.   

    首先split分割条件本身就是支持正则表达式的。
    其次。文本一行一行的读,何来大批量之有。
      

  3.   

    var p = /\d+/g;
    alert("BGM+241+37985".match(p));
      

  4.   

    错了,是javascript代码
    var p = /\d+/g;
    alert("BGM+241+37985".match(p));
      

  5.   

    StringTokenizer tokenizer =
                new StringTokenizer(asString, Character.toString("+"));
    while (tokenizer.hasMoreElements()) {
    String field = tokenizer.nextToken();
    //下面检测一下field里的东西就可以放到数据库里了
    }
      

  6.   

    Pattern p = Pattern.compile("[+]{1}\d+");Pattern p2 = Pattern.compile("[:]{1}\d+");Matcher m = p.matcher("BGM+241+37985");String str = "";
    while(m.find()){
        str = m.group();//这里就是你要获取得数据记得去掉加号。  呵呵。  读取文件就不用说了吧。 
    }
    。。 剩下得就不写了。 希望你能找到更简介得方法。