String提供的正则相关的函数(indexOfsearchmatchreplace)

    技术2023-05-15  82

    String函数提供的正则相关的函数(indexOf/search/match/replace)

    一.查找敏感词:用正则查找一句话中包含的敏感词,共四种情况:

    1. **只查找一个固定的敏感词出现的位置:** a. ```var i=str.indexOf("敏感词")``` b. 含义:在str中查找第一个敏感词出现的下标位置 c. 返回值:如果找到返回敏感词第一个字在字符串中的下标位置,没找到则返回-1 2. **用正则查找多种敏感词出现的位置:** a. ```var i=str.search(/正则表达式/)``` b. 含义:在字符串str中查找第一个符合正则要求的敏感词出现的位置 c. 返回值:同indexOf一样 3. **查找敏感词的内容:2种:** 1. **只查找第一个敏感词的内容和位置:** a. ```var arr=str.match(/正则表达式/)``` b. 含义:在字符串str种查找第一个符合正则要求的敏感词的内容和位置 c. 返回值:2种: 1. 如果找到,返回一个数组,包含两个元素arr[0:"敏感词的内容","index":敏感词下标位置]. 2. 如果没有找到,返回null 2. **查找所有敏感词的内容:** 1. ```var arr=str.match(/正则表达式/g)``` 2. g:global,查找全部的敏感词 3. 返回值: 1. 如果找到敏感词,则返回一个数组,只包含所有敏感词的内容,不再包含敏感词的位置 2. 如果找不到敏感词,返回null 4. **即查找每个关键词的内容,又查找每个关键词的位置:** 1. RegExp类型提供了一个reg.exec()函数

    二.替换敏感词:将找到的额敏感词替换为新内容(2种)

    1. **简单替换:将所有敏感词都替换为统一的新值** a. ```var 变量=str.replace(/正则表达式/ig,新值)``` b. 含义:替换字符串str中所有符合正则要求的敏感词为统一的新值 c. 强调:因为所有字符串类型都是不可变类型,所以,replace无权修改原字符 2. **高级替换:根据每次找到的敏感词不同,动态替换成不同的新值** a. ```var 变量=str.replace(/正则表达式/ig,function(形参{函数体;})``` b. 原理:回调函数的学习 3. **衍生操作:删除敏感词:其实就是将敏感词替换为空字符串**

    三.切割字符串

    1. **简单切割:切割符是固定的** a. ```var arr=str.split("切割符")``` b. 按照字符串str种指定的切割符,将字符串切割为多段子字符串 c. 返回值:包含切割后的多段子字符串的数组 d. 切割完的结果中,不包含切割符 2. **复杂切割:切割符是不固定的,但是却能找到规律** a. ```var arr=str.split(/正则/); b. 含义:按照str中所有符合正则要求的切割符将字符串切割为多段子字符串 c. split中不用加g,也能自动找到所有符合条件的切割符
    Processed: 0.010, SQL: 9