2012-05-18 1 views
1

배열 색인 위치에 문자열의 일부가 포함되어 있는지 찾으려고합니다.Java - 배열 haystack에있는 바늘의 일부에 대해 indexof를 찾습니다.

FullDirPrt = "a1a" "b2b" "c3c" 

String doT ="b2"; 
int DotPos = Arrays.asList(FullDirPrt).indexOf(doT); 

내가 b2b를 검색하면 indexOf를 반환합니다. b2 만 검색하면 -1이 반환됩니다.

+1

jmort의 대답은 위치를 알려주고, 다른 두 가지는 발견되었을 때 무언가를하는 데 좋습니다. 빠른 respnses에 대한 THX –

답변

0

각 배열 항목은 별도의 문자열로, 개별적으로 배열의 각 항목을 확인해야합니다 :

String[] full = { "a1a", "b2b", "c3c" }; 
String doT = "b2"; 

for(int i = 0; i < full.length; i++) { 
    if(full[i].contains(doT)) { 
     System.out.println("Found item at index " + i); 
    } 
} 
+0

Thx jmort, 그 자리를 누르십시오! –

0

당신은 전체 문자열에 일치하는 전체 목록을, 당신은 루프해야 할 것 또는 배열을 검색 한 다음 각 문자열에서 각 indexOf를 확인하십시오.

for (String s : FullDirPrt) { 
    if (s.indexOf("bs") > 0) { 
     // do something 
    } 
} 
0

목록을 사용하지 않고 간단한 문자열 배열로도 아래처럼 할 수 있습니다.

String[] full={"a1a", "b2b", "c3c"}; 
String doT = "b2"; 
for(String str:full){ 
if(str.contains(doT)){ 
System.out.println(str+" contains "+doT); 
} 
}