我正在寻找一种在Java(Android)中找到部分匹配的索引位置的方法。
假设我的数组是:
String ips[] = {"10.185.98.111", "192.168.0.13", "Some random IPV6 address"};
我希望能够像ips[].indexOf("192")
那样返回“1”而不是“-1”。
这可能吗?
答案 0 :(得分:3)
执行自己的功能,例如:
public int getElementThatContains(String[] ips, String key) {
for (int i = 0; i < ips.length; i++) {
if (ips[i].indexOf(key) >= 0) {
return i;
}
}
return -1;
}
观察list
的排序将确定您将获得哪个IP。
如果你有两个元素192
,那么接近开头就会被选中。
你也可以改变:
if (ips[i].indexOf(key) >= 0) {
return i;
}
对于不同类型的比赛,例如:
ips[i].contains(key)
ips[i].startsWith(key)
ips[i].endsWith(key)
答案 1 :(得分:1)
public void specialIndexOF(List<String> ips){
int index=0;
for(String s:ips){
if(s.contains(search)){
return index;
}
index++;
}
return -1;
}