附代码:java导出的CSV文件中,字段内容中包含分隔符(如英文逗号,英文双引号)的处理方案

 

Talk is cheap, show me the code.

 


/**
 * CSV字段内容中包含分隔符(如英文逗号,英文双引号)的处理方案
 *
 * 字段中包含有英文逗号,该字段必须用英文双引号括起来
 * 字段中包含有英文双引号,该字段必须用额外的双引号括起来
 */
public class JavaExportCsvFieldContentParse {

    /**
     * 写入csv文件时,对字段内容进行格式化
     * 1,英文逗号处理
     * 2,英文双引号处理
     * @param content
     * @return
     */
    private String fieldContentFormat(Object content) {

        if (content == null) {
            return "";
        }

        String notNullContent = content.toString();
        if (notNullContent.contains("\"")) {
            // 处理英文双引号
            notNullContent = notNullContent.replaceAll("\"", "\"\"");
        }

        // 处理英文逗号
        return new StringBuffer("\"").append(notNullContent).append("\"").toString();
    }

    public static void main(String[] args) {


        JavaExportCsvFieldContentParse javaExportCsvFieldContentParse = new JavaExportCsvFieldContentParse();

        // 字段中含有英文逗号的场景
        System.out.println(javaExportCsvFieldContentParse.fieldContentFormat("数里闻寒水,山家少四邻"));

        // 字段中含有英文双引号的场景
        System.out.println(javaExportCsvFieldContentParse.fieldContentFormat("数里闻寒水,山家少四邻,作者:\"贾岛\""));

    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章