A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 一米一光年 中级黑马   /  2015-3-27 21:53  /  513 人查看  /  3 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

获取一个字符串中指定子串出的次数。比如说“hanbasdnbafllgnbahjnbakqqqqlnbaxi” 在这个字符串中,多有个nba?

3 个回复

倒序浏览
class StringTest{         public static void main(String[] args) {                 String str = "hanbasdnbafllgnbahjnbakqqqqlnbaxnbai";                 String regex = "nba";                                  int count = getCount(str, regex);                                  System.out.println(count);         }           public static int getCount(String maxString, String minString) {                                  int count = 0;                                  int index = maxString.indexOf(minString);                                  while (index != -1) {                                                  count++;                                                  maxString = maxString.substring(index + minString.length());                                          index = maxString.indexOf(minString);                 }                 return count;         }  }     





6次   
回复 使用道具 举报
public static int getSum(String str,String s)
        {
                    String max=str.length()>s.length()?str:s;
                        String min=(max==str)?s:str;
                //indexOf获取字符串第一次出现的位置。
            int count=0;
                        //循环中看大串中是否包含小串,循环中不包含小串返回false.
                    while(max.contains(min))
                        {
                                  //获取第一次获得的位置
                              int index=max.indexOf(min);
                              count++;
                                  //生成新串
                              max=max.substring(index+min.length(),max.length());   
                        }
                        return count;
        }
回复 使用道具 举报
  1. /**
  2. * 获取一个字符串中指定子串出的次数。
  3. *  比如说“hanbasdnbafllgnbahjnbakqqqqlnbaxi”
  4. *  在这个字符串中,多有个nba?
  5. *
  6. */
  7. public class Stringdemo {
  8.         public static void main(String[] args) {
  9.                 // 定义字符串
  10.                 String str = "hanbasdnbafllgnbahjnbakqqqqlnbaxi";
  11.                 // 定义子字符串
  12.                 String st = "nba";
  13.                
  14.                 // 定义次数
  15.                 int count = 0;
  16.                 // 判断字符串是否以子字符串结尾,如果是开头,他会自动拆分,第一个为空,所以开头不用管
  17.                 if(str.endsWith(st)){
  18.                         count++;
  19.                 }
  20.                
  21.                 // 通过字符串拆分确定有几个
  22.                 String[] s = str.split(st);
  23.                 count = count + s.length-1;
  24.                 System.out.println(count);
  25.                 for(String x : s){
  26.                         System.out.println(s);
  27.                 }
  28.         }
  29. }
复制代码
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马