我有一个数组,我想在其中搜索以“test”开头的字符串(例如);搜索这些集合前缀的最有效方法是什么?正则表达式还是 if 语句?
正则表达式:
boolean found = false;
for (String line: ArrayList){
Pattern pattern =
Pattern.compile("^test"); //regex
Matcher matcher =
pattern.matcher(line);
while (matcher.find()) {
found = true;
}
if(found){
doSomething();
}
}
}
if 语句:
for (String line : ArrayList) {
if (line.startsWith("test"){
doSomething();
}
哪个效率最高?
哪种方法对较长的字符串最有效?
如果我想找到以“test”开头的字符串,但只有在“test”之后有“foo”的字符串,哪种方法更好?
如果正则表达式是答案,那么正确的语法是什么,以“test”开头,后跟“foo”或“bar”,但不能同时使用?