(Java)将以特定单词开头和结尾的每个字符串存储到数组中

时间:2017-09-10 17:28:03

标签: java html arrays sorting data-analysis

目前我正在尝试为自己创建一个应用程序,它将我班级的学校网络时间表翻译成Android应用程序中的表格。 我无法在HTML代码(字符串)中找到以<tr>开头并以</tr>结尾的某些字符串

我现在正在使用这个:

public void sortData(String str) {
    String subStr = str.substring(str.indexOf("<tr>"), str.indexOf("</tr>"));
    String[] output = subStr.split(",");
    for (String all:output) {
        //do stuff
    }
}

但它只给我一条线:

<TR><TD rowspan="2" width="5"></TD><TD><b>HEID TECH</b></TD><TD rowspan="2" width="5"></TD><TD>2017 / 2018</TD><TD rowspan="2" width="5"></TD><TD align="right"> <b>Untis 2018</b></TD><TD rowspan="2" width="5"></TD>

我使用此HTML代码作为主要字符串: https://intern.heid-tech.de/alle/stupla/Klassen/Kla1_ohne_1BK2T1.htm

2 个答案:

答案 0 :(得分:0)

你正在把第一个<tr> </tr>之间的所有东西都扔掉,然后丢掉其余的字符串。

你应该再次使用字符串的其余部分作为参数来调用此方法。例如

 int endIndex = str.indexOf("</tr>");
 String subStr = str.substring(str.indexOf("<tr>"), endIndex);

并在for循环之后再次调用该方法

sortData(str.substring(endIndex));

当然,不要忘记添加结束条件

答案 1 :(得分:0)

public class Split
{
    Split()
    {
    }

    void SplitString(String str)
    {
        System.out.println(str.substring(str.indexOf(">")+1,str.lastIndexOf("<")));
    }

    public static void Main(String args[])
    {
        split obj1=new split();
        obj1.splitString("<tr> hello world</tr>");
    }
}