ibcadmin 发表于 2016-6-17 09:32:49

C#获取字符串中出现最多的字符

//判断一个随意字符串中出现次数最多的字母,并判断出出现过几次
      var str = "saidhsd,pmgmtpmrpashdoasdnassdsjaoiosdnasndasnd";
      var join = {};//定义一个对象
      for (var i = 0; i < str.length; i++) {
            //判断该字符串截取出来的这一个字符是不是在join对象中存在{“a”,1}之后有a的话就进行++数量
            if (!join) {
                //如果不存在,则以该单字符作为join对象的键值,将其values赋值为1
                join = 1;
            } else {
                //如果存在,则找到该键值对应的value值 将其自增
                join++;
            }
      }

      var max = 0;//定义一个最大值,用于保存出现次数最多的字符的次数
      var maxStr = "";//用于保存出现次数最多的那个字符
      //打擂算法循环输出join中保存的数据
      for(var item in join){
            //每一个item都代表着一个join对象的键值(也就是字符)
            if(join>max){
                max = join;
                maxStr = item;
            }
      }
      alert(maxStr+"字符出现的次数为:"+max);

ibcadmin 发表于 2016-6-17 09:34:04

回复是美德

剑弑 发表于 2016-6-17 09:37:52

charAt()方法很少用到啊

ibcadmin 发表于 2016-6-17 16:44:08

剑弑 发表于 2016-6-17 09:37
charAt()方法很少用到啊

恩、、
页: [1]
查看完整版本: C#获取字符串中出现最多的字符