JavaScript字符串

字符串

字符串又称包装数据类型
可以支持 [ ] 取值语法来获取字符串中的一个字符 , 也支持 字符串.length属性.

注意:
不是所有的数组操作字符串都支持.
不能通过 字符串 [ ] 语法修改字符串内容.

        var str = 'abcdefg';

         // []语法获取一个字符
         console.log( str[0]);  // 输出结果:  a
         console.log(str[3]);    // 输出结果:  d


         // 字符串.length
         console.log(str.length);  // // 输出结果:  7

         // 不支持字符串的修改操作
         str[0] = 'n';
         console.log(str);   输出结果:  abcdefg

字符串的循环遍历方法

for循环
for…in循环
for…of循环
都可以循环遍历字符串.

        var str = '12346';

         // for循环
         for(var i = 0 ; i<=str.length-1 ; i++){
             console.log(str[i]);
         }

         //for ... in循环
         for(var i in str){
             console.log(str[i]);
         }

         //for ... of循环
         for(var value of str){
             console.log(value);
         }

字符串的查询操作

字符串.indexOf()
字符串.search()

     查询字符串中有没有匹配的字符, 如果有,返回第一个字符的索引下标, 如果没有返回 -1
     字符串.search() 支持正则表达式
     字符串.indexOf() 不支持正则表达式

字符串.lastIndexOf()

     查询字符串中有没有匹配的字符, 如果有返回最后一个出现位置的索引下标, 如果没有返回 -1
        var str = '您好新年好填好';
         var res1 = str.indexOf('好'); 
         console.log(res1);     // 输出结果: 1

         var res2 = str.lastIndexOf('好'); 
         console.log(res2);     // 输出结果: 6

         var res3 = str.search('新');
         console.log(res3);     // 输出结果: 2

字符串截取函数

字符串.substr(参数1,参数2)

       参数1 截取字符串的起始位置
           0 或者正数起始位置的索引下标
           负数从倒数第几个字符开始截取

       参数2 截取字符串的个数
          如果不设定参数2, 截取至末位
          设定, 截取字符的个数

字符串.subString(参数1 , 参数2)

        参数1 截取字符串的起始位置
          0 或者 正数  起始位置的索引下标
          负数   从第一个字符开始截取

        参数2 截取字符串的结束位置
          0 或者 正数  截取结果不包含结束位置
          负数  向字符串起始位置截取

总结: 如果只定义第一个参数, 两个函数方法结果是相同的, 都是从定义的索引下标截取至字符串末位

         var str = 'abcdefg';
         
// substr截取字符串

        //从索引下标是3的第四个字符开始 截取至 字符串的末位
        var res1 = str.substr( 3 );
        console.log( res1 );  // 输出结果: defg

        //从倒数第三个字符开始截取至字符串的末位
        var res2 = str.substr( -3 );
        console.log( res2 );  // 输出结果: efg

        // 从索引下标是2的第3个字符开始截取3个字符
        var res3 = str.substr( 2 , 3 );
        console.log( res3 );  // 输出结果: cde

        // 从倒数第三个字符开始截取截取2个字符
        var res4 = str.substr( -3 , 2 );
        console.log( res4 );  // 输出结果: ef


// substring截取字符串

        // 从索引下标是3的第四个字符开始截取至字符串末位
        var res5 = str.substring( 3 );
        console.log( res5 );  // 输出结果: defg


        // 从索引下标是3的位置开始截取 
        // 截取至索引下标是5的位置 
        // 但是结果不包括索引下标是5的位置
        var res6 = str.substring( 3 , 5 );
        console.log( res6 );  // 输出结果: de


        var res7 = str.substring( 3 , -5 );
        console.log( res7 );  // 输出结果: abc

字符串替换函数

字符串.replace( 参数1 , 参数2 );

                参数1   需要替换的字符串的原始内容
                参数2   需要写入的字符串的新内容

            不会改变原始字符串中的内容 函数的执行结果返回值 是 新的字符串
            如果需要改变原始字符串内容 需要做 赋值操作

字符串.replace() 默认只会替换第一个符合条件的字符 — 称为 懒惰模式
如果需要替换所有 可以使用

         1,  正则表达式 -- 实际项目中使用的方法
         2,  递归函数
         3,  循环
     var str = 'abcabcdagbc';
         var res = str.replace('a','北');
         
         console.log(str);
         console.log(res);

        // 通过循环实现替换所有 'a' 变为 '北'
        // 字符串中没有要替换的字符 循环终止
        while( true ){
            str = str.replace( 'a' , '北京' );

            // str中没有要替换的字符a 终止循环
            if( str.indexOf('a') === -1 ){
                break ;
            }
        }

        console.log(str);


        // 正则表达式 以后会讲
        str = str.replace( /a/g , '北京' );

        console.log( str );

获取字符函数

字符串.charAt()
按照索引下标获取字符

字符串.charCodeAt()
按照索引下标获取字符的ASCII码数值

字符串大小写统一函数

      字符串.toLowercase()
            所有字符小写

      字符串.toUpperCase()
            所有字符大写
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值