字符串中各字符出现次数的统计

要求:统计一个字符串中 各字符串出现的次数。比如 "a1a35b5" 统计出来应该是 a-2, 1-1, 3-1, b-1, 5-2。

思想一:用split方法将key字符切除,比较源字符串长度和新字符串长度,得出key字符个数。

图例:

代码:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>阶乘相加</title>
 6
 7     <script>
 8         var str = "afsfs564s8f45sf5s";
 9         var str2 = ‘‘;
10
11 //写法一:
12         while(str.length>0){
13            str2=str.split(str[0]).join(‘‘);
14            var times=str.length-str2.length;
15            document.write(str+‘<br>‘
16                              +str2+‘<br>‘
17                              +str[0]+‘-‘+times+‘<hr>‘);
18            str=str2;
19         }
20
21
22 //写法二:
23         for(var i=0;i<str.length;){
24            str2=str.split(str[0]).join(‘‘);
25            var times=str.length-str2.length;
26            document.write(str+‘<br>‘
27                              +str2+‘<br>‘
28                              +str[0]+‘-‘+times+‘<hr>‘);
29            str=str2;
30         }
31
32     </script>
33 </head>
34 <body>
35
36 </body>
37 </html>

思想二:选出key值,在字符串中匹配与key相等的字符的个数。

代码:

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>阶乘相加</title>
 6
 7     <script>
 8         var str = "afsfs564s8f45sf5s";
 9         var str1 = "afsfs564s8f45sf5s";
10         var str2 = ‘‘;
11
12
13         var jsonObj = {};   //key=value
14
15         for(var i=0;i<str1.length;i++){
16            jsonObj[str1[i]]?jsonObj[str1[i]]=jsonObj[str1[i]]+1:jsonObj[str1[i]]=1;  //如果能找到key值?key=value+1:key=1;
17         }
18
19         document.write(JSON.stringify(jsonObj));
20
21     </script>
22 </head>
23 <body>
24
25 </body>
26 </html>

运行结果:{"4":2,"5":3,"6":1,"8":1,"a":1,"f":4,"s":5}

反思:

一:while与if的区别:

while用于循环语句,而if用于判断和分支语句。



时间: 2024-10-11 10:52:01

字符串中各字符出现次数的统计的相关文章

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

作者:zccst 思想原理:把字符串分割为数组,粒度为每一个字符.循环该数组,用正则替换原字符串对于字符,并计算替换前后字符串长度差值,即为该字符出现的次数. 另外,还可以对重复次数进行排序. 用到的知识点: 1,正则表达式.基本写法,RegExp,replace的用法. 2,数组中的sort.自定义函数排序.(sort默认按字符编码排序) function charCntInString (argument) { var str = argument,result = [],beforeLen

C语言实现--&gt;&gt;对输入字符串中各类型出现次数的统计

问题描述: 编写一个程序统计输入字符串中:各个数字.空白字符.以及其他所有字符出现的次数. 代码实现: #include <stdio.h> #include <ctype.h> int main() {  int other=0;  int space=0;  int a[10]={0};  int i=0;  int ch=0;  while ((ch=getchar())!=EOF)  {   /*    //isspace库函数---判断输入字符ch是不是空,如果是,if条

Java基础知识强化之集合框架笔记61:Map集合之统计字符串中每个字符出现的次数的案例

1. 首先我们看看统计字符串中每个字符出现的次数的案例图解:

黑马程序员——统计一个字符串中各个字符出现的次数

统计一个字符串中各个字符出现的次数 import java.util.Iterator; import java.util.Set; import java.util.TreeMap; public class TreeMapDemo { //统计一个字符串中相应字符出现的次数 public static void main(String[] args) { // String s = "aagfagdlkerjgavpofjmvglk我是你的"; //调用自定义方法来 统计相应字符出

用python统计list中各元素出现的次数(同理统计字符串中各字符出现的次数)

统计list中各元素出现的次数,下面的方法也适用于统计字符串中各字符出现的次数 1.用字典的形式来处理 a = "abhcjdjje" a_dict = {}for i in a: a_dict[i] = a.count(i)print(a_dict) 2.用count函数直接打印出来 L = [2,4,5,6,2,6,0,4] for i in L: print("%d的次数:%d"%(i,L.count(i))) 3.用collections的Counter函数

寻找字符串中出现字符最多的次数,出现次数最多的字符,出现次数最多的字符的索引

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>demo</title> <link rel="stylesheet" href="css.css"> <script src="js.js"></script>

统计字符串中每个字符的个数

1 <!DOCTYPE html> 2 <html> 3 <head lang="en"> 4 <meta charset="UTF-8"> 5 <title>统计字符串中每个字符的个数@</title> 6 </head> 7 <body> 8 </body> 9 10 <script type="text/javascript"&

找出字符串中第一个出现次数最多的字符

找出字符串中第一个出现次数最多的字符 详细描述: 接口说明 原型: bool FindChar(char* pInputString, char* pChar); 输入参数: char* pInputString:字符串 输出参数(指针指向的内存区域保证有效): char* pChar:出现次数最多的字符 返回值: false 异常失败 true  输出成功 #include <iostream> #include <string.h> using namespace std; b

要求将字符串中的字符按字符出现的次数从小到大进行排序

package com.xiawei.sort; import java.util.ArrayList;import java.util.Collections;import java.util.Comparator;import java.util.HashMap;import java.util.List;import java.util.Map;import java.util.Map.Entry; public class TestString {//要求将字符串中的字符按字符出现的次数