Java 字符串标记器-通过标记获取问题和答案

Java 字符串标记器-通过标记获取问题和答案,java,eclipse,stringtokenizer,Java,Eclipse,Stringtokenizer,我已删除标记,因此arrayList如下所示: Qstore.add(new QuestionObject("Question 2?", "1", "2", "3", "4", "B", "Starts with M", "Easy", "Sport")); Qstore.add(new QuestionObject("Question 3?", "221", "233", "443", "455", "C", "Starts with M", "Easy", "Sport")); 我已经让我

我已删除标记,因此arrayList如下所示:

Qstore.add(new QuestionObject("Question 2?", "1", "2", "3", "4", "B", "Starts with M", "Easy", "Sport"));
Qstore.add(new QuestionObject("Question 3?", "221", "233", "443", "455", "C", "Starts with M", "Easy", "Sport"));

我已经让我的百万富翁程序与ArrayList一起运行,但是当GUI显示问题和答案时,它会将问题和答案列表与其他ArrayList混合起来

对于您的简单情况,您可以创建一个小标记表(
String[]tab={“a”、“B”、“C”、“D”、“ANS”}
),然后查看一行中存在哪个标记(
if(line.trim().startsWith(“”…

然后,您可以提取开始标记开始位置与结束标记开始位置之间的文本; 字符串模式=“.*(.+?)*”; in=新的BufferedReader(新的文件读取器(“fileName.txt”); 字符串行=null; 而((line=in.readLine())!=null){ if(线条匹配(图案)){ 字符串replacedText=line.replaceAll(模式“$1”); System.out.println(“replacedText:+replacedText”); } }
上面给出的代码使用正则表达式获取标记中存在的问题

您应该使用XML解析器而不是标记器。@JoshM这是一个普通文件,它周围只有标记,为了进一步说明@m0skit0所说的,XPath在这里可能有一些用处。@m0skit0我提出了同样的建议(后来删除了我的注释)因为XML解析器会失败,因为结束的问号放在所有答案之前。@JoshM这就是我决定使用标记的原因之一。@erstwhilll嘿,你在那里,我有一个关于ArrayList的问题,问题是什么?@erstwhilll我已经让我的百万富翁程序与ArrayList一起运行,但是当GUI显示t时问题和答案,它将问题和答案列表与其他arraylist混合。@erstwhielll Plus我已删除标记,因此arraylist如下所示:Qstore.add(新问题对象(“问题2?”,“1”,“2”,“3”,“4”,“B”,“以M开头”,“轻松”,“运动”));将代码和结果单独列为一个问题。你在那里吗?我有一个简短的问题
    BufferedReader in;
    String pattern = ".*<Question>(.+?)</Question>.*";

    in = new BufferedReader(new FileReader("fileName.txt"));

    String line = null;
    while ((line = in.readLine()) != null) {

        if (line.matches(pattern)) {
            String replacedText = line.replaceAll(pattern, "$1");
            System.out.println("replacedText: " + replacedText);
        }
    }