StringUtils.substringBetween返回null值

时间:2012-08-20 15:00:02

标签: java apache-commons apache-stringutils

我遇到以下代码的问题:

public String SearchText(String fileName, String First, String Last) {
        String tag = new String();
        String file = FileUtils.readFileToString(new File(fileName));
        tag = StringUtils.substringBetween(file, First, Last);
        return First + tag + Last;
    }

它在字符串后面也返回“null”值,例如:如果我在标记<a></a>之间搜索文本,则返回<a>null</a>。问题是“标签”为空值! 文本文件作为多个具有相同名称的标签,每个标签包括不同的文本:问题可能存在吗?我该如何解决?

1 个答案:

答案 0 :(得分:1)

你说的是不可能的。如果SearchText返回<a>text</a>null,则必须表示:

First = "<a>";
tag = "text";
Last = "</a>null";

哪个找不到。如果StringUtils.substringBetween()无法找到匹配项,则会返回null,这意味着SearchText将返回<a>null</a>null。使用上面的代码,获取<a>text</a>null的唯一方法是:

First = "<a>text</a>";
Last = "";

所以你在问题中说的话是不可能的。再次检查所有变量的内容,不是你说的那样。