csv记录

yezhuqishi / 2024-10-19 / 原文

` private static List appendElement(String[] lineArray) {

    if (lineArray.length > 7) {
        List<String> arrays = new ArrayList<>();
        String reg = "\".+?\"";
        Pattern pattern = Pattern.compile(reg);
        String element = "";
        boolean hasSymbol = false;
        List<String> charsList = new ArrayList<>();
        for (int i = 0; i < lineArray.length; i++) {
            String chars = lineArray[i];
            if (chars.contains("\"")) {
                hasSymbol = true;
                //统计冒号是否完整
                element += chars;
                charsList.add(chars);
                Matcher matcher = pattern.matcher(element);
                if (matcher.find()) {
                    arrays.add(StringUtils.join(charsList, ","));
                    element = "";
                    hasSymbol = false;
                    charsList.clear();
                }
            } else {
                if (hasSymbol) {
                    element += chars;
                    charsList.add(chars);
                } else {
                    arrays.add(chars);
                }

            }

        }
        return arrays;
    }
    return List.of(lineArray);

}`