首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >正确转义CSV中的双引号

正确转义CSV中的双引号
EN

Stack Overflow用户
提问于 2013-07-23 19:10:58
回答 5查看 187.8K关注 0票数 231

在我的CSV中有这样一行:

"Samsung U600 24"","10000003409","1","10000003427"

24旁边的引号用于表示英寸,而引号旁边的引号用于关闭字段。我正在用fgetcsv读取行,但是解析器犯了一个错误,并将值读作:

Samsung U600 24",10000003409"

我试着在英寸引号前加一个反斜杠,但我只是在名称中加了一个反斜杠:

Samsung U600 24\"

有没有办法在CSV中正确地转义它,这样值就是Samsung U600 24",或者我必须在处理器中对它进行正则表达式?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-07-23 19:19:32

使用两个引号:

代码语言:javascript
复制
"Samsung U600 24"""
票数 382
EN

Stack Overflow用户

发布于 2014-02-05 19:37:23

不仅需要双引号,还需要单引号(')、双引号(")、反斜杠(\)和NUL (空字节)。

使用fputcsv()进行写入,使用fgetcsv()进行读取,这将处理所有问题。

票数 13
EN

Stack Overflow用户

发布于 2021-10-12 05:32:36

我是用Java写的。

代码语言:javascript
复制
public class CSVUtil {
    public static String addQuote(
            String pValue) {
        if (pValue == null) {
            return null;
        } else {
            if (pValue.contains("\"")) {
                pValue = pValue.replace("\"", "\"\"");
            }
            if (pValue.contains(",")
                    || pValue.contains("\n")
                    || pValue.contains("'")
                    || pValue.contains("\\")
                    || pValue.contains("\"")) {
                return "\"" + pValue + "\"";
            }
        }
        return pValue;
    }

    public static void main(String[] args) {
        System.out.println("ab\nc" + "|||" + CSVUtil.addQuote("ab\nc"));
        System.out.println("a,bc" + "|||" + CSVUtil.addQuote("a,bc"));
        System.out.println("a,\"bc" + "|||" + CSVUtil.addQuote("a,\"bc"));
        System.out.println("a,\"\"bc" + "|||" + CSVUtil.addQuote("a,\"\"bc"));
        System.out.println("\"a,\"\"bc\"" + "|||" + CSVUtil.addQuote("\"a,\"\"bc\""));
        System.out.println("\"a,\"\"bc" + "|||" + CSVUtil.addQuote("\"a,\"\"bc"));
        System.out.println("a,\"\"bc\"" + "|||" + CSVUtil.addQuote("a,\"\"bc\""));
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17808511

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档