`
zccst
  • 浏览: 3322675 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

计算字符串中每个字符出现的次数

阅读更多
思想原理:把字符串分割为数组,粒度为每一个字符。循环该数组,用正则替换原字符串对于字符,并计算替换前后字符串长度差值,即为该字符出现的次数。

另外,还可以对重复次数进行排序。



用到的知识点:

1,正则表达式。基本写法,RegExp,replace的用法。

2,数组中的sort。自定义函数排序。(sort默认按字符编码排序)


function charCntInString (argument) {
    var str = argument,result = [],beforeLen,afterLen;
    str = str.replace(/( |,)/ig, "");
    var strArr = str.split("");
    for (var i = 0; i < strArr.length; i++) {
        //str里的长度一直在变化。strArr里的字符可能在str里多次,但只有第一次匹配
        if(str.indexOf(strArr[i]) != -1){
            beforeLen = str.length;
            var reg = new RegExp(strArr[i], "ig");
            str2 = str.replace(reg,"");//字符串变短
            afterLen = str2.length;
            result.push(strArr[i]+":"+(beforeLen-afterLen));
            str = str2;
        }
    }
    return result.sort(sortNum);
}
function sortNum (p1,p2) {
    var n1 = p1.split(":")[1];
    var n2 = p2.split(":")[1];
    return n2-n1;//从大到小  从小到大n1-n2;
}


//var s = "This section of the site is dedicated to the JavaScript language itself, the parts that are not specific to Web pages or other host";
var s = "hello,world";
var ret = charCntInString(s);
console.log(ret);







//使用方法只要把要处理的字符串传入函数中就行了
        function numInstring(str)
        {
            var text="";
            //循环的套出每个字符出现的次数 str会慢慢的变短直到为空
            while(str!="")
            {
                //先将字符打散
                var newstr=str.split("");
                var count=0;
                //求得第一个字符出现的次数
                for(var i=0;i < newstr.length;i++)
                {
                    if(newstr[0]==newstr[i])
                    {
                        count++;
                    }
                }
                //在字符串中删掉跟第一个字符一样的所有字符
                var re=new RegExp(newstr[0],"g");
                str=str.replace(re,"");
                text+=newstr[0]+":"+count+"次;";
            }
            return text;//我这里返回的是一段文本 可以自己改写成自己想要的形式
        }

主要考的是对字符串的处理,这里用到了split和replace结合然后再使用正则,有什么建议或者改进的地方都可以给我留言,相互进步O(∩_∩)O~~!!!;


如果您觉得本文的内容对您的学习有所帮助,您可以微信:
分享到:
评论

相关推荐

    计算字符串中每种字符出现的次数

    计算字符串中每种字符出现的次数 在计算机科学中,字符串是最基本的数据结构之一。字符串是由一系列字符组成的序列,可以是数字、字母、符号等。在实际应用中,我们经常需要统计字符串中每种字符的出现次数,例如...

    java统计字符串每个字符出现次数

    在Java编程中,统计字符串中每个字符出现的次数是一个常见的任务,特别是在面试或笔试中作为考察点。这个任务可以通过使用HashMap来实现,因为HashMap提供快速的查找和插入操作,适合处理这种计数的问题。以下是一个...

    Python计算字符串中每个字符的出现次数

    Python计算字符串中每个字符的出现次数,内有代码

    统计字符串中每个字符出现次数并排序工具

    标题中的"统计字符串中每个字符出现次数并排序工具"是一个实用的程序,它的主要功能是接收一段字符串输入,然后分析其中每一个字符的出现频次,并将这些字符按照出现次数由高到低进行排序。这样的工具在处理大量文本...

    JavaScript计算字符串中每个字符出现次数的小例子

    3. **计算字符出现次数**:通过比较替换前后的字符串长度,我们可以计算出每个字符的出现次数。`beforeLength` 存储替换前的长度,`afterLength` 存储替换后的长度,两者的差值即为当前字符的出现次数。 4. **创建...

    5统计某个字符串中大小写字母A或a出现的次数java

    总结一下,统计字符串中特定字符出现次数的方法是遍历字符串,检查每个字符并更新计数器。在Java中,这可以通过`String`类和`charAt()`方法实现。了解这个概念对于理解和解决类似的问题至关重要,尤其是在文本处理和...

    输出一个字符串中每个字符出现的次数

    主要写一个算法将一个字符串中的每个字符出现的次数计算出来

    字符串统计函数,统计不同字符个数和每个字符出现的次数

    本篇将详细探讨如何实现一个统计字符串中不同字符个数以及每个字符出现次数的函数,我们将以C++语言为例进行讲解。 首先,我们需要了解基本的字符串处理函数和数据结构。在C++中,`std::string` 是用来表示字符串的...

    讨论字符串中字符出现的次数

    此方法首先将字符串转换为字符数组并进行排序,然后遍历数组来统计每个字符的出现次数。 1. **字符数组排序**:将字符串转换为字符数组,并利用 `Arrays.sort()` 对数组进行排序。 2. **遍历统计**:遍历排序后的...

    查找字符串中出现重复次数最多的字符

    本主题关注的是如何查找一个字符串中出现重复次数最多的字符。这是一个典型的字符串处理问题,对于理解字符串操作和优化算法能力的提升非常有帮助。 首先,我们要明确问题的目标:给定一个字符串,找出其中出现频率...

    从字符串中查找字符出现次数的方法和性能对比

    其核心思想是通过遍历整个字符串,逐个检查每个字符是否与目标字符匹配,如果匹配则计数器加一。例如,在给定的代码片段中,通过以下C#代码实现了对字符“A”的计数: ```csharp int c1 = 0; for (int i = 0; i ; i...

    Python统计字符串中每个字符出现的次数.docx

    标题中的"Python统计字符串中每个字符出现的次数"和描述中的"统计字符出现的次数"指的都是同一个主题,即如何使用Python编程语言来计算一个字符串中各个字符的出现频率。这个任务涉及到基本的字符串操作、字典数据...

    查找字符串出现否,及出现次数

    外层循环遍历主字符串中的每一个字符;内层循环则比较当前主字符串字符与模式字符串的相应字符是否相等。 3. **成功匹配标志**:如果内层循环完整执行且没有遇到不匹配的情况,则认为找到了一个匹配的子串。此时,...

    字符串中不同字符出现的频度

    该函数的主要任务是遍历字符串,并统计每个字符的出现次数。 #### 字符遍历与频次统计 代码中的循环通过`str.length()`确定遍历范围。对于每个字符,它首先检查是否已经统计过(通过比较当前字符的位置和首次出现...

    用C#实现的遍历字符串,遍历一次查出每个字符出现的次数

    在C#编程中,遍历字符串并统计每个字符出现的次数是一个常见的任务,尤其是在文本处理、数据分析或字符串分析等场景。下面将详细讲解如何利用C#实现这一功能,并结合`Hashtable`数据结构来存储和计算字符频率。 ...

    frequency(计算每个字符出现的次数)

    这个工具或程序的基本功能是接收用户输入的一段字符串,然后输出每个字符出现的次数,这有助于用户快速了解字符串中字符的分布情况。 字符频率的概念源于统计学,而在计算机科学领域,它被用来衡量特定字符在一段...

    C语言小程序,统计字符串中字符出现频率,随后可以匹配替换指定字符

    第一个for循环遍历了输入的字符串,将每个字符的出现次数加1;第二个for循环遍历了num数组,将非零的值输出到屏幕上,显示了字符的出现频率。 搜索匹配字符串指定字符 在这个小程序中,使用了一个名为strSearch的...

    统计一个字符串中某个字符的个数

    在实际应用中,可能还需要考虑错误处理、动态计算字符串长度、适应不同操作系统等问题。这个例子只是一个起点,实际的汇编程序会更复杂,但其核心思想是一致的:通过遍历、比较和计数来实现目标功能。

    字符串统计字母出现的频率

    2. **遍历字符串**:通过循环遍历输入的字符串,对每个字符进行判断。如果字符是小写字母,可以通过索引更新计数器。这里需要注意,C语言中的字符串是以null字符('\0')结尾的,因此遍历时应避免超出数组范围。 3. *...

Global site tag (gtag.js) - Google Analytics