我有一个简单的方法可以搜索并编译给定字符串的模式
String search = I GIVE IT SOME STRING;
String trimmedSearch = search.trim();
if (trimmedSearch.isEmpty())
{
pattern_ = null;
}
else if (trimmedSearch.contains("*") || trimmedSearch.contains("(")
|| trimmedSearch.contains(")") || trimmedSearch.contains("?")
|| trimmedSearch.contains(".") || trimmedSearch.contains("[")
|| trimmedSearch.contains("]") || trimmedSearch.contains("{")
|| trimmedSearch.contains("}") || trimmedSearch.contains("^")
|| trimmedSearch.contains("|") || trimmedSearch.contains("$")
|| trimmedSearch.contains("+") || trimmedSearch.contains("\\"))
{
pattern_ = null;
}
else
{
pattern_ = Pattern.compile(trimmedSearch.toUpperCase(), Pattern.CASE_INSENSITIVE);
}
每当搜索时,模式就会严重崩溃*
因此,我进行了可怕的巨大 if 语句检查,以确保字符串不包含任何可能导致其崩溃的字符。但是,如果我想将它们也包括在搜索中怎么办。有什么办法吗?
任何帮助将不胜感激,很难在网上任何地方搜索这类问题或问题,我开始失去理智。