HTML删除所有标签

时间:2014-01-06 19:22:34

标签: java html loops tags indexof

感谢所有回答我之前问题的人。

我正在尝试为HTMLProcessor类编写一个方法removeAllTags。该方法仅处理HTML选项卡的子集:它假定给定文本仅包含完整的简单标记,例如和或,其中结束标记与 只有“<”之后的“/”字符对应的开始标记。结束标记必须位于开始标记之后。该方法返回删除了所有标记的文本(如果未找到标记,则返回原始文本)。如果文本中的标记不匹配(在开始标记之后找不到结束标记),则该方法应返回原始文本。

我已经编写了2个方法,一个叫做“findFirstTag”,另一个叫“删除”。 我对这种方法感到困惑,这让我感到有些困惑。我知道我必须实现前两种方法,并且我尝试使用while循环执行此操作(因此您可以看到) - 最终失败了。谁能帮我?非常感谢!感谢

    public static String findFirstTag(String text) {
    int firstIndex = text.indexOf("<");
    if (firstIndex >= 0) {
        String newText = text.substring(firstIndex);
        int secondIndex = newText.indexOf(">");

        return text.substring(firstIndex, secondIndex + 1);
    } else {
        return null;
    }
}

public static String remove(String text, String str) {

    int firstIndex = text.indexOf(str);
    int beginofNewIndex = (firstIndex + 1) + str.length();

    if (firstIndex >= 0) {
        return text.substring(0, firstIndex) + text.substring(beginofNewIndex);
    } else {
        return text;
    }
}

public static String removeAllTags(String text) {

    String revisedText = text;
    int textlastIndex = text.length() + 1;

    while (textlastIndex > 2) {

        revisedText = remove(revisedText, findFirstTag(revisedText));
        textlastIndex = textlastIndex - 1;
    }

    return revisedText;

}
}

0 个答案:

没有答案