学习JS的第六天之字符串

学习JS的第六天之字符串

其他学习笔记:点击前往


前言

字符串的方法和正则表达式的方法


一、字符串(String)

1、创建一个字符串

var str = '内容';
console.log(str)

2、字符串(String)的方法

    1、charAt(index):
        返回指定位置的字符,index就是位置,从0开始。

    2、substring(n,m)
        返回n到m之间的所有字符,n和m都是下标。
        如果不给m,就从n开始截取到字符串结束

   3、substr(n,length)
        截取字符串,从 n开始 截取length这么长。
        如果不写length,就从n开始截取到字符串结束。

    4、slice(n,m)
        与substring用法一致。

    5、indexOF(s)
        查找 s 首次出现在字符串中的位置,

    6、match(str)
        查找字符串中特定的字符,如果找到了就返回这个字符。如果找不到就返回null。

    7、replace(a,b)
        用字符b替换字符a。

    8、search(s)
        用于检索字符串中指定字符的位置,没有找到返回 -1,

    9、split(str)
        以str作为切割符,将字符串切割为数组。

    10、toLowerCase()
        将英文字符串转为小写。

    11、toUpperCase()
        将英文字符串转为大写。

    12、trim()
        去掉字符串前后空格,但是无法去掉字符串中间空格。

3、字符串的length属性

    str.length: 获取字符串的长度

二、正则表达式

1、 正则表达式的概念

    使用特定的符号来描述字符串的方法

2、 作用

    验证用户输入的信息

3、 创建正则表达式的写法

    构造函数的方式
        var pat = new RegExp('要匹配的字符串','修饰符');

    自变量的写法
        var pat = /要匹配的字符串/修饰符;

    修饰符:
        i:忽略大小写
        g:全局查找(默认查找到第一个就会停止,使用该修饰符会匹配所有满足条件的)
        m:多行匹配

4、 匹配规则:

    \w 可以匹配一个组成单词的字符(字母,_,数字)
    \W 匹配非单词字符
    \d 匹配一个数子
    \D 匹配非数字
    \s 匹配空白符(空格、制表符、换行符)
    \n 匹配一个换行符
    .  匹配换行符以外的任意字符
    \b 匹配单词边界,也就是单词和空格之间的位置,不匹配任何字符       
    [xyz] 匹配这个集合中任意一个字符
    [^xyz]不匹配这个集合中任意一个
    [a-z]  匹配26个字母任意一个小写字母
    [0-9]  匹配0~9之间的任意一个数
    [a-zA-Z] 匹配26个字母不区分大小写

    ^ 匹配以什么开头
    $ 匹配以什么结尾
     

    ? 匹配前面的字符出现0次 或者1 次
    *  匹配前面的字符出现0次或者多次
    +  匹配前面的字符出现1次或者多次 
    {n,m} 匹配 n 到 m 次
    {n}    匹配 n 次
    {n,}  匹配大于等于n次
    x | y 匹配x或者y

5、 转义符号

    比如说要匹配一个 . ,但是小圆点是有特殊含义的,不能直接写,就需要写为 \.

6、 正则方法

    pat.test(str)
        是否匹配成功,返回true 或者 false

    pat.exec()

        检索字符串中指定的值。返回一个数组,存放匹配的结果,如果没有匹配返回null

    compile()
        可以改变检索模式。

7、 支持正则表达式的字符串方法

    search()

    match()

    replace()

    split()

简单练习

1、写一个函数,参数为一个字符串,返回这个字符串的反向字符串。

 function reverseStr(str) {
      return str.split('').reverse().join('');
    }
 console.log(reverseStr('hello'));

2、替换掉字符串里的所有的空格。

var str = (" h e l l o")
function delSpace(str) {
      var pat = /\s/g;
      return str.replace(pat, '');
    }
console.log(delSpace(' h e l l o'));

3、将以下字符串的每个单词的首字母转化为大写:‘i love javascript !’

 function changeToUpper(str) {
      var arr = str.split(' ');
      for(var i = 0 ; i < arr.length; i++) {
        arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substr(1);
      }
      return arr.join(' ');
    }
    console.log(changeToUpper('i love javascript !'));

4、计算这段数据的平均分:“小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76”。

 var data = "小明:87;小花:81;小红:97;小天:76;小张:74;小小:94;小西:90;小伍:76;小迪:64;小曼:76";
 
    // 方法1
    var pat1 = /\d{1,}/g
    var arr1 = data.match(pat1);
    var num = 0
    for(var i = 0; i < arr1.length; i++) {
      num += parseInt(arr1[i])
    }
    console.log(num/arr1.length);
    
    // 方法2
    var arr2 = data.split(';');
    var num2 = 0;
    for(var i = 0; i < arr2.length; i++) {
      num2 += parseInt(arr2[i].substr(arr2[i].indexOf(':') + 1));
    }
    console.log(num2/arr2.length);

总结

熟练使用字符串的方法,熟记正则表达式的匹配规则,网上有很多可以直接拿来用的正则表达式。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值