用于存储在 csv 文件中的 Java 转义字符串
如果要将用户创建的字符串存储在csv文件中。是否有用于转义字符串的首选库,或者我应该编写自己的函数?
如果要将用户创建的字符串存储在csv文件中。是否有用于转义字符串的首选库,或者我应该编写自己的函数?
对于任何寻找代码的人:
将其添加到您的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
UPD:从版本3.6开始,已弃用,因此您必须改用:StringEscapeUtils
commons-lang
commons-text
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>1.6</version>
</dependency>
我建议您使用此处帖子推荐的库之一。虽然编写自己的CSV创建者/解析器似乎很容易,但您会遇到需要处理诸如带有逗号或引号的用户字符串之类的情况的问题,这有时可能非常麻烦。我使用了以下库,它们工作正常:-