解析纯文本并在 android 中生成 csv
Parse plain text and generate a csv in android
在我的 Android 项目中,我从如下所示的编辑文本字段中输入了纯文本,
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("\n");
// 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("\n");
csv.append(csvLine);
}
return csv.toString();
}
假设输入文本:
String text =
"1. Who is superhero?\n" +
"a) Spiderman\n" +
"b) Batman\n" +
"c) Ironman\n" +
"2. question 2\n" +
"a) answer 1\n" +
"b) answer 2\n" +
"c) answer 3";
String csv = parse(text);
它returns下面的字符串
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
在我的 Android 项目中,我从如下所示的编辑文本字段中输入了纯文本,
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("\n");
// 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("\n");
csv.append(csvLine);
}
return csv.toString();
}
假设输入文本:
String text =
"1. Who is superhero?\n" +
"a) Spiderman\n" +
"b) Batman\n" +
"c) Ironman\n" +
"2. question 2\n" +
"a) answer 1\n" +
"b) answer 2\n" +
"c) answer 3";
String csv = parse(text);
它returns下面的字符串
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