java 分割csv数据的实例详解

java 分割csv数据的实例详解

实际需要解析的csv中很多都是从excel中转过来的,数据中本身包含了逗号的数据导致split的过程中发现数据对不上,因此,基于这种特性,重新写了一个csv数据的分割方法:

实现代码:

public static String[] split(String line) { 
     
    List<String> list = new ArrayList<>(); 
     
    int start = 0; 
    int end = -1; 
      
     
    while(true) { 
        
      start = end + 1; 
        
      if(line.charAt(start) == '\"') { 
        end = line.indexOf("\"", start ) + 1; 
      } else { 
        end = line.indexOf("," , start ); 
      } 
       
      if(end < 0) { 
        //最后了 
        end = line.length() ; 
      } 
       
      String p1 = line.substring(start, end); 
       
      list.add(p1); 
       
      if(end >= line.length() - 1) { 
        break; 
      } 
       
    } 
     
      
    return list.toArray(new String[0]) ; 
  } 
 

 利用的特性为:excel转储csv的时候,如果列值包含逗号会用双引号括起来。

以上就是java 分割csv数据的简单实例,如有疑问大家可以到本站留言,讨论,或者到本站搜索相关内容,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!