解析纯文本并在android中生成csv

知识的价值不在于占有,而在于使用。这篇文章主要讲述解析纯文本并在android中生成csv相关的知识,希望能为你提供帮助。
【解析纯文本并在android中生成csv】在我的android项目中,我在下面的edittext字段中输入了一个纯文本,

1. Who is superhero? a) Spiderman b) Batman c) Ironman

等等,多个问题和答案; 这个纯文本需要解析,每个值,即; 问题,每个单独的答案选择需要更新到csv文件的各个行单元格,如下所示,

任何有关如何实现这一目标的帮助或意见将不胜感激。
答案只需将文本分成几行,每4行就有一个问题。只需解析每一行并通过用逗号分隔值来创建csv行
private String parse(String text) { // create the header line StringBuilder csv = new StringBuilder("Sl No,Question,Option A,Option B,Option C"); // get every line in an array String[] array = text.split(" "); // for every 4 lines for(int i=0; i< array.length; i = i+4) { String question = array[i]; String optionA = array[i+1]; String optionB = array[i+2]; String optionC = array[i+3]; String questionNo = question.substring(0, question.indexOf(".")).trim(); String questionText = question.substring(question.indexOf(".")+1).trim(); String optionAText = optionA.substring(optionA.indexOf(" ")).trim(); String optionBText = optionB.substring(optionB.indexOf(" ")).trim(); String optionCText = optionC.substring(optionC.indexOf(" ")).trim(); // build the corresponding csv line String csvLine = questionNo+","+questionText+","+optionAText+","+optionBText+","+optionCText; csv.append(" "); csv.append(csvLine); } return csv.toString(); }

假设这个输入文本:
String text = "1. Who is superhero? " + "a) Spiderman " + "b) Batman " + "c) Ironman " + "2. question 2 " + "a) answer 1 " + "b) answer 2 " + "c) answer 3"; String csv = parse(text);

它返回以下字符串
Sl No,Question,Option A,Option B,Option C 1,Who is superhero?,Spiderman,Batman,Ironman 2,question 2,answer 1,answer 2,answer 3


    推荐阅读