如何在CSV文件中转义逗号,android

时间:2016-06-05 07:27:29

标签: android csv comma

我有一个CSV文件(信息是西里尔字母,如果有的话)。编写CSV类,以便它读取每一行并将其拆分为逗号:

String[] row = csvLine.split(",");

在csv中我有以下模式的行:

ааа,бб, рр, ррр рр тт.

如何强制CSV仅在第一个逗号上拆分? PS:我已经尝试使用逗号中的双逗号和黑色标记,到目前为止没有任何成功。 编辑: 以下是整个CSVreader类:

public class CSVReader {
InputStream inputStream;

public CSVReader(InputStream is) {

    this.inputStream = is;
}

public List<String[]> read() {
    List<String[]> resultList = new ArrayList<String[]>();
    BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));

    try {
        String csvLine;
        while((csvLine = reader.readLine()) != null) {
            String[] row = csvLine.split(",");
            resultList.add(row);
        }
    } catch(IOException ex) {
        throw new RuntimeException("Error in reading CSV file:" + ex);
    } finally {
        try{
            inputStream.close();
        } catch(IOException e) {
            throw new RuntimeException("Error while closing input stream: " + e);
        }
    }
    return resultList;
}

}

我需要的是上面的CSV摘录仅在第一个逗号上拆分,然后遇到要解析并在屏幕上显示的内容。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果您只想拆分每行的第一个逗号,可以使用

csvLine.split(",",2);

其中2limit参数,用于检查生成的String数组的最大长度。这意味着拆分仅发生limit-1次。在您的情况下,1

如JavaDocs here中所述。

使用输入aa,bb,cc,dd,您将获得数组{"aa","bb,cc,dd"}