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!