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 查找字符串內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: