各位大虾,请教一下,怎么把
1.夏永燕 HPNR3G                                                                
 2.  CZ6244 R   SU18SEP11CKGPEKHX1  2110 2335          E 2AT2                 
 3.CKG/T CKG/T 023-966666 /CHONGQINGJICHANGKONGGANGGONGSI /ZHAOXIEMEI ABCDEFG   
 4.CKG13883113960/13808320774                                                   
 5.T                                                                            
 6.SSR ADTK 1E BY CKG13SEP11/1358 OR CXL CZ6244 R18SEP                          
 7.OSI CZ CTCT13883113960/13808320774                                           
 8.RMK AUTOMATIC FARE QUOTE                                                     
 9.FN/A/FCNY470.00/SCNY470.00/C3.00/XCNY190.00/TCNY50.00CN/TCNY140.00YQ/        
    ACNY660.00                                                                  
10.TN/784-5369743480/P1                                                         
11.FP/CASH,CNY                                                                  
12.CKG13
这个字符串封装到map里面
map.put("1","夏永燕 HPNR3G");
map.put("2","CZ6244 R   SU18SEP11CKGPEKHX1  2110 2335          E 2AT2");
请各位大虾不吝赐教

解决方案 »

  1.   

    每次读取一行出来,先截取 第一个 "."之前的内容当做key  , value为 第一个"."之后的内容不就可以了 ?
      

  2.   

            String[] data = {
                "1.夏永燕 HPNR3G",
                "2. CZ6244 R SU18SEP11CKGPEKHX1 2110 2335 E 2AT2",
                "3.CKG/T CKG/T 023-966666 /CHONGQINGJICHANGKONGGANGGONGSI /ZHAOXIEMEI ABCDEFG",
                "4.CKG13883113960/13808320774",
                "5.T  ",
                "6.SSR ADTK 1E BY CKG13SEP11/1358 OR CXL CZ6244 R18SEP",
                "7.OSI CZ CTCT13883113960/13808320774",
                "8.RMK AUTOMATIC FARE QUOTE",
                "9.FN/A/FCNY470.00/SCNY470.00/C3.00/XCNY190.00/TCNY50.00CN/TCNY140.00YQ/ACNY660.00",
                "10.TN/784-5369743480/P1",
                "11.FP/CASH,CNY",
                "12.CKG13"
            };
            Pattern pattern = Pattern.compile("^(\\d+)\\.(.+)$");
            LinkedHashMap<String,String> map = new LinkedHashMap<>();
            for (String s : data) {
                Matcher matcher = pattern.matcher(s);
                while (matcher.find()) {
                    map.put(matcher.group(1),matcher.group(2));
                }
            }        for (String s : map.keySet()) {
                System.out.printf("%s:%s\n",s,map.get(s));
            }
      

  3.   

    String s="1.夏永燕 HPNR3G";

    String[] str=s.split("\\.");
    System.out.println(str.length);
    for(String s1:str){
    System.out.println(s1);
    }
    Map<String,String> map =new HashMap<String,String>();
    map.put(str[0], str[1]);
     
    System.out.println(map.get("1"));z这样子是一个‘多个也是一样
      

  4.   

      String[] data = {
                "1.夏永燕 HPNR3G",
                "2. CZ6244 R SU18SEP11CKGPEKHX1 2110 2335 E 2AT2",
                "3.CKG/T CKG/T 023-966666 /CHONGQINGJICHANGKONGGANGGONGSI /ZHAOXIEMEI ABCDEFG",
                "4.CKG13883113960/13808320774",
                "5.T  ",
                "6.SSR ADTK 1E BY CKG13SEP11/1358 OR CXL CZ6244 R18SEP",
                "7.OSI CZ CTCT13883113960/13808320774",
                "8.RMK AUTOMATIC FARE QUOTE",
                "9.FN/A/FCNY470.00/SCNY470.00/C3.00/XCNY190.00/TCNY50.00CN/TCNY140.00YQ/ACNY660.00",
                "10.TN/784-5369743480/P1",
                "11.FP/CASH,CNY",
                "12.CKG13"
            };
               Map<String,String> map = new LinkedHashMap<String,String>();
               String[] str=null; 
            for (String s : data) {
             str=s.split("\\.");
             if(str.length>1){
                      map.put(str[0],str[1]);
               }
               
            }         for (String s : map.keySet()) {
                System.out.printf("%s:%s\n",s,map.get(s));
            }
    呵呵!!
      

  5.   


    public static void main(String[] args) {
    String str = "1.夏永燕 HPNR3G\n" +  
    "2. CZ6244 R SU18SEP11CKGPEKHX1 2110 2335 E 2AT2\n" +   
    "3.CKG/T CKG/T 023-966666 /CHONGQINGJICHANGKONGGANGGONGSI /ZHAOXIEMEI ABCDEFG\n" + 
    "4.CKG13883113960/13808320774\n" +
    "5.T\n" +    
    "6.SSR ADTK 1E BY CKG13SEP11/1358 OR CXL CZ6244 R18SEP\n" +   
    "7.OSI CZ CTCT13883113960/13808320774\n" +   
    "8.RMK AUTOMATIC FARE QUOTE\n" +    
    "9.FN/A/FCNY470.00/SCNY470.00/C3.00/XCNY190.00/TCNY50.00CN/TCNY140.00YQ/ACNY660.00\n"+   
    "10.TN/784-5369743480/P1\n"+   
    "11.FP/CASH,CNY\n"+   
    "12.CKG13\n";
    Map<String,String> result = new LinkedHashMap<String,String>();
    String[] str2 = str.split("\n");
    for(String s : str2){
    String[] str3 = s.split("\\.");
    result.put(str3[0], str3[1]);
    }
    System.out.println(result);
    }
      

  6.   

    用 dot(.)分割的,后面数字里的小数点怎么办?
      

  7.   

    用StringBuffer就可以实现的,下面一个简单的示例:StringBuffer bufStr = new StringBuffer("1.夏永燕 HPNR3G\r\n");
    bufStr.append("2. CZ6244 R SU18SEP11CKGPEKHX1 2110 2335 E 2AT2\r\n");
    bufStr.append("3.CKG/T CKG/T 023-966666 /CHONGQINGJICHANGKONGGANGGONGSI /ZHAOXIEMEI ABCDEFG\r\n");
      

  8.   


    这个里面也有. FN/A/FCNY470.00/SCNY470.00/C3.00/XCNY190.00/TCNY50.00CN/TCNY140.00YQ/ACNY660.00",