在双引号内拆分字符串

时间:2019-07-16 14:36:46

标签: java split

我有这个字符串:

"Dairy products","LAI","249","SMP","Skimmed milk powder, Intervention Quality - Lait écrémé en poudre","€/100 kg","EU","201906","204.05"

我用逗号分割

    data = line.split(",(?=([^\"]*\"[^\"]*\")*[^\"]*$)");

    if (data.length == meta.size()) {
        products.add(new Prodotti(
            data[0],
            data[1],
            Integer.parseInt(data[2]),
            data[3],
            data[4],
            data[5],
            data[6],
            Integer.parseInt(data[7]),
            Double.parseDouble(data[8])
        ));
    } else {
        System.out.println(meta.get(data.length));
    }

data[4]包含以下内容:

""Skimmed milk powder, Intervention Quality - Lait écrémé en poudre""

我不知道这个结果是错误还是正确,而且当我在JSON上打印时,它看起来像这样:

"\"Skimmed milk powder, Intervention Quality - Lait écrémé en poudre\""

1 个答案:

答案 0 :(得分:0)

如果要执行此操作,则将spans = soup.find_all('span') result = ' - '.join([e.get_text() for e in spans]) 替换为",",并在"#"上拆分。它可能并不优雅,但可以避免一些麻烦。除了选择#之外,您还可以选择其他不在引号字段中的内容。

#

上面打印的内容可能与通常引用的字符串一样。 JSON可能由于字符重音而做了一些特殊的事情。