1. 程式人生 > 程式設計 >Java在長字串中查詢短字串的實現多種方法

Java在長字串中查詢短字串的實現多種方法

方案一:

補充:在輸入短字串時,如果有空格,可以在比較前用 trim()方法擷取前後空白

 /*該方法只適用於有特殊分割符號的字串*/
    System.out.println("請輸入字串:");
    Scanner str1=new Scanner(System.in);
    String s=str1.nextLine();
    System.out.println("請輸入第二個字串:");
    Scanner str2=new Scanner(System.in);
    String s2=str2.next();
    String[] i= s.split(" ");//對長字串進行分割得到一個字串陣列
    int o=0;
    for (int j = 0; j <i.length ; j++) {
      if (s2.equals(i[j])==true){//對字元陣列進行遍歷比較
        o++;
      }
    }
    System.out.println("次數為:"+o);
  }

方案二:

 //如果替換未造成字串長度損失,該方法則不適用
    System.out.println("請輸入一個長字串:");
    Scanner str1 = new Scanner(System.in);
    String s = str1.nextLine();
    System.out.println("請輸入短字串:");
    String s1 = str1.nextLine();
    String s3 = s.replaceAll(s1,"0");//字元替換
    int b1 = s.length() - s3.length();//計算出s字串損失的長度
    int b2 = b1 / (s1.length() - 1);//根據規律計算出s1字串在s字串中出現的次數
    System.out.println("次數為:"+b2);

方案三:

  //該方法適用於各種模式
    System.out.println("請輸入一個長字串:");
    Scanner str1 = new Scanner(System.in);
    String s = str1.nextLine();
    System.out.println("請輸入短字串:");
    String s1 = str1.nextLine();
    int c=0;
    for (int i = 0; i <s.length()-s1.length() ; i++) {
      if (s1.equals(s.substring(i,i+s1.length()))){/*字串比較,對長字串進行擷取,之後用擷取得到的字串與短字串進行比較*/
        ++c;
      }
    }
    System.out.println("次數為: " + c);

到此這篇關於Java在長字串中查詢短字串的實現多種方法的文章就介紹到這了,更多相關Java 查詢字串內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!