• JavaScript


    1. 字符串

    1.1 字符串的不可变性

    var str = 'abc';
    str = 'hello';
    // 当重新给str赋值的时候,常量'abc'不会被修改,依然在内存中
    // 重新给字符串赋值,会重新在内存中开辟空间,这个特点就是字符串的不可变性
    // 由于字符串的不可变,在大量拼接字符串的时候会有效率问题
    

    1.2 创建字符串对象(包装类,里面有对字符串的操作方法)

    var str = new String('Hello World');
    
    // 获取字符串中字符的个数
    console.log(str.length);
    

    2. 字符串的常用方法

    字符串所有的方法,都不会修改字符串本身(字符串是不可变的),操作完成会返回一个新的字符串

    // 1 字符方法
    charAt()    	//获取指定位置处字符
    charCodeAt()  	//获取指定位置处字符的ASCII码
    str[0]   		//HTML5,IE8+支持 和charAt()等效
    // 2 字符串操作方法
    concat()   		//拼接字符串,等效于+,+更常用
    slice()    		//从start位置开始,截取到end位置,end取不到
    substring() 	//从start位置开始,截取到end位置,end取不到
    substr()   		//从start位置开始,截取length个字符
    // 3 位置方法
    indexOf()   	//返回指定内容在元字符串中的位置
    lastIndexOf() 	//从后往前找,只找第一个匹配的
    // 4 去除空白   
    trim()  		//只能去除字符串前后的空白
    // 5 大小写转换方法
    to(Locale)UpperCase() 	//转换大写
    to(Locale)LowerCase() 	//转换小写
    // 6 其它
    search()
    replace()
    split()
    fromCharCode()
    // String.fromCharCode(101, 102, 103);	 //把ASCII码转换成字符串
    

    3. 案例1. 截取字符串"我爱中华人民共和国",中的"中华"

    方法1. substr方法

    var s = "我爱中华人民共和国";
    s = s.substr(2,2);
    console.log(s);
    

    4. 案例2. "abcoefoxyozzopp"查找字符串中所有o出现的位置

    方法1. 找出o元素的索引,并保存在辅助数组中。

    var s = 'abcoefoxyozzopp';
    var array = [];
    do {
      var index = s.indexOf('o', index + 1);
      if (index != -1) {
        array.push(index);
      }
    } while (index > -1);
    console.log(array);
    

    5. 案例3. 把字符串中所有的o替换成!

    var s = 'abcoefoxyozzopp';
    do {
      s = s.replace('o', '');
    } while (s.indexOf('o') > -1);
    console.log(s);
    
    # 正则表达式
    console.log(s.replace(/o/ig, ''));
    

    6. 案例4. 判断一个字符串中出现次数最多的字符,统计这个次数

    用k-v容器存储。key存储原数组的元素,value存储原数组元素出现的次数;再统计。

    var s = 'abcoefoxyozzopp';
    var o = {};
    
    for (var i = 0; i < s.length; i++) {
      var item = s.charAt(i);
      if (o[item]) {
        o[item] ++;
      }else{
        o[item] = 1;
      }
    }
    
    var max = 0;
    var char ;
    for(var key in o) {
      if (max < o[key]) {
        max = o[key];
        char = key;
      }
    }
    
    console.log(max);
    console.log(char);
    
  • 相关阅读:
    通过命令行配置samba服务
    新版python logging 封装,支持同时向console,file,socket输出
    python多进程管理DEMO
    注意tornado中的日志操作
    一个简单的python日志服务器
    NoVNC的使用、websockify以及VNC截图
    Oracle——distinct的用法
    C# Excel数据转化为Datatable
    C# winform 无API函数实现系统快捷键
    [转]C# WInForm 无框窗体移动
  • 原文地址:https://www.cnblogs.com/allen2333/p/9163288.html
Copyright © 2020-2023  润新知