Java在長字符串中查找短字符串的實現(xiàn)多種方法
補充:在輸入短字符串時,如果有空格,可以在比較前用 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(' ');//對長字符串進行分割得到一個字符串數(shù)組 int o=0; for (int j = 0; j <i.length ; j++) { if (s2.equals(i[j])==true){//對字符數(shù)組進行遍歷比較o++; } } System.out.println('次數(shù)為:'+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);//根據(jù)規(guī)律計算出s1字符串在s字符串中出現(xiàn)的次數(shù) System.out.println('次數(shù)為:'+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('次數(shù)為: ' + c);
到此這篇關(guān)于Java在長字符串中查找短字符串的實現(xiàn)多種方法的文章就介紹到這了,更多相關(guān)Java 查找字符串內(nèi)容請搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 10個提供免費PHP腳本下載的網(wǎng)站2. Java向Runnable線程傳遞參數(shù)方法實例解析3. python 爬取嗶哩嗶哩up主信息和投稿視頻4. Python編寫nmap掃描工具5. PHP設計模式(四)原型模式Prototype實例詳解【創(chuàng)建型】6. PHP擴展之APC——Alternative PHP Cache(可選PHP緩存)7. Java 基于UDP協(xié)議實現(xiàn)消息發(fā)送8. ASP.NET MVC前臺動態(tài)添加文本框并在后臺使用FormCollection接收值9. php5.6不能擴展redis.so的解決方法10. 如何基于python3和Vue實現(xiàn)AES數(shù)據(jù)加密
