IM點點過濾一個字符串數組迷茫相關字符串函數 我有字符串 例從另一個
String Array1[]=new String[10];
Array1[0]="Hello";
String Array2[]=new String[10];
Array2[0]="Hello my world";
Array2[1]="Hi buddy";
我要篩選的字符串數組1 [0]從ARRAY2 也就是說的一個陣列,在Array2的索引中出現字符串「Hello」。
IM點點過濾一個字符串數組迷茫相關字符串函數 我有字符串 例從另一個
String Array1[]=new String[10];
Array1[0]="Hello";
String Array2[]=new String[10];
Array2[0]="Hello my world";
Array2[1]="Hi buddy";
我要篩選的字符串數組1 [0]從ARRAY2 也就是說的一個陣列,在Array2的索引中出現字符串「Hello」。
/**
* This method searches for key in the array of String , starts looking from fromIndexSpecified
* @param source
* @param key
* @param fromIndex
* @return
*/
private static int findIndexOfKey(String[] source, String key, int fromIndex) {
if (fromIndex > source.length) {
return -1;// invalid arg ..can also throw IlligleArgumentException
}
for (int index = fromIndex; index < source.length; index++) {
if (source[index].indexOf(key) > -1) {
return index;//found..!
}
}
return -1; //no match found
}
您將需要遍歷數組2項,做一個字符串比較:
private int findIndexOfSubstring(array, target) {
for (int i=0; i<array.size(); i++) {
if array[i].indexOf(target)>-1 return i; //element of Array2 contains target in it.
}
return -1; //no match found
}
//somewhere else
String Array1[]=new String[10];
Array1[0]="Hello";
String Array2[]=new String[10];
Array2[0]="Hello my world";
Array2[1]="Hi buddy";
int answer = findIndexOfSubstring(Array2, Array1[0]);
感謝的reply.It工作 – shweta 2011-04-29 06:35:51
迭代第二陣列上,檢查每一個時間:
for(int i = 0; i < Array2.length; i++) {
if(Array2[i].contains(Array1[0]) {
//your logic here
System.out.println("Found match at position " + i);
}
}
編輯:可以肯定的是,在你的情況可能會發生空指針異常。也許添加
if(Array2[i] != null)
一個String[]
實際上是一個字符串數組。所以它可以容納多個字符串。 例如:
String[] stringArray = new String[2];
stringArray[0] = "My String 1";
stringArray[1] = "My String 2";
如果你想找出包含你需要做的像一個子一個String數組的第一個索引:
int findFirst(String subString, String[] stringArray) {
for (int i = 0; i < stringArray.length; i++) {
if (stringArray[i].contains(subString)) {
return i;
}
}
// indicates that no String in the array contained the subString
return -1;
}
這裏是使用的方式方法:
int firstIndex = findFirst("String 2", stringArray);
您可以使用該方法從indexOf
Apache Commons ArrayUtils班。
用法:
String[] array1 = new String[10];
array1[0] = "Hello";
String[] array2 = new String[10];
array2[0] = "Hello my world";
array2[1] = "Hi buddy";
int index = ArrayUtils.indexOf(array2, array1[0]);
感謝它的工作原理的答覆 – shweta 2011-04-29 08:27:20