배열이있어서 "test"(예 :)로 시작하는 문자열을 검색하려고합니다. 이 집합 접두사를 검색하는 가장 효율적인 방법은 무엇입니까? 정규식 또는 if 문?Java : 정규식 대 if 문
정규식 : 가장 효율적인
for (String line : ArrayList) {
if (line.startsWith("test"){
doSomething();
}
:
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 문?
긴 문자열에 가장 효과적인 방법은 무엇입니까?
"test"로 시작하지만 "test"다음에 "foo"가있는 문자열 만 찾으려면 어떤 방법이 더 좋습니까?
Regex가 답변이라면 "test"로 시작하고 "foo"또는 "bar"로 시작하는 두 가지가 아닌 올바른 구문 구문은 무엇입니까?
이 IMO에 대한 정규식 ... –
그냥 보조 노트 너무 많이 : 그것은 여기에 정규 표현식을 사용하는 감각을 만들 것입니다 경우에도, 당신은 루프 외부 패턴을 컴파일해야한다. – Thomas
하나의 블록이 더 많은 접두사를 담당해야하는 경우가 있다면 ['StringUtils.startsWithAny (String string, String [] searchStrings)'] (http://commons.apache.org/lang/api- 2.5/org/apache/commons/lang/StringUtils.html) –