代码之家  ›  专栏  ›  技术社区  ›  Christian

用于存储在csv文件中的Java转义字符串

  •  7
  • Christian  · 技术社区  · 15 年前

    如果要在csv文件中存储用户创建的字符串。 是否有首选库用于转义字符串,或者我应该编写自己的函数?

    4 回复  |  直到 15 年前
        1
  •  5
  •   limc    15 年前

    我建议你使用这篇文章推荐的图书馆之一。虽然编写自己的CSV创建者/解析器似乎很容易,但您会遇到一些问题,需要处理一些场景,例如用户字符串中带有逗号或引号,这有时会非常麻烦。我用了下面的库,它们很有用fine:-

        2
  •  14
  •   codeformars    6 年前


    将此添加到pom.xml

    <dependency>
        <groupId>commons-lang</groupId>
        <artifactId>commons-lang</artifactId>
        <version>2.6</version>
    </dependency>
    

    然后使用:

     String escaped = StringEscapeUtils.escapeCsv("tHIS String 'needs escaping'");
     System.out.println(escaped); //safe for csv
    

    升级版本: StringEscapeUtils 在里面 commons-lang commons-text 取而代之的是:

    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-text</artifactId>
        <version>1.6</version>
    </dependency>
    
        3
  •  2
  •   facundofarias Ashay Batwal    10 年前

    最后我用了 StringEscapeUtils ,主要是因为我的项目中已经有了依赖关系。很有魅力! 干杯

        4
  •  0
  •   YoK    15 年前

    如果您正在编写自己的实现,那么以下是RFC供您参考: http://tools.ietf.org/html/rfc4180

    如果你的字符串不是太复杂,你可以很容易地开发小函数,而不是使用一些库。我已经引用了上面的RFC,并在我的一个项目中为同样的目的创建了一个小函数。