感谢所有回答我之前问题的人。
我正在尝试为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;
}
}