これらが私の2つの弦だとしましょう
String listOfIntegers = ("1 5 9 12 15 50 80 121");
String integerToLookFor = ("12");
プログラムでlistOfIntegersをスキャンし、integerToLookForが文字列に含まれている場合は出力します。何か案は?
コード:
String listOfIntegers = ("1 5 9 12 15 50 80 121");
String integerToLookFor = ("12");
String[] splitArr = listOfIntegers.split("\\s");
for(String s: splitArr){
if(s.equals(integerToLookFor)) {
System.out.println("found: " + s);
break; //breaks out of the loop
}
}
検索するリストと番号の両方がスペースで囲まれていることを確認すると、検索を簡略化できます。
String listOfIntegers = " " + "1 5 9 12 15 50 80 121" + " ";
String integerToLookFor = " " + "12" + " ";
if (listOfIntegers.indexOf(integerToLookFor) != -1) {
// match found
}
リストを文字列配列に分割し、 foreach ループを使用して値を比較して一致を見つけます。
import java.util.Arrays;
String listOfIntegers = ("1 5 9 12 15 50 80 121");
String integerToLookFor = ("12");
System.out.println(Arrays.asList(listOfIntegers.split(" ")).contains(integerToLookFor));
正規表現パッケージでMatcherとPattern.compilerを使用できます。以下の例を参照してください。
Pattern p = Pattern.compile(integerToLookFor);
Matcher m = p.matcher(listOfIntegers);
while(m.find()){
System.out.println("Starting Point:"+m.start()+"Ending point:"+m.end());
}
Array ints = listOfIntegers.split(' ');
print ints.inArray(integerToLookFor);