我有一个 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 的上述摘录,然后解析并显示在屏幕上。
最佳答案
如果只想分割每行的第一个逗号,可以使用
csvLine.split(",",2);
2
是 limit
参数,用于检查生成的 String
数组的最大长度。这意味着拆分只会发生 limit-1
次。在你的例子中,1
。
如 JavaDocs 中所述 here .
通过输入 aa,bb,cc,dd
,您将获得数组 {"aa","bb,cc,dd"}
关于android - 如何在CSV文件中转义逗号,android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37639485/