字符串替换案例
源码下载不论文字编辑器,还是爬虫,都涉及到字符的处理。本节课就通过Javascript内置对象的字符串对象方法split()和数组对象方法join()模拟文章的汉字单词查找、替换。 为了简化问题,用一句话代替一篇文章。
8 //把字符串str里面的错别字“核”替换为正确的“和” 9 let str = "热爱核平,核平世界。"; 10 //调用字符串对象方法split(),把字符串转化为数组 11 let arr = str.split(""); 12 //for循环替换字符 13 for(let i = 0; i<arr.length;i++){ 14 if(arr[i] === "核"){ //查找汉字"核" 15 arr[i] = "和";//替换汉字 16 } 17 } 18 //调用数组对象方法join,把数组元素转化为 19 let str2 = arr.join(""); 20 document.write(str2);
体验测试
把第14行代码中的查询字“核”改为“平”,把第15行代码要替换的字改为“谐”
代码解析
- 方法split()
- ===
- 方法join
第14行代码用到字符串对象方法split(),这句代码的作用就是把字符串str分割为单个字符,转化为数组元素
并赋值给arr,str.split("")执行后返回的结果是
第14行代码arr[i] === "核",是比较字符arr[i]和"核"是否相等的意思,===是全等比较运算符,参考运算符
第15行代码表达的就是把修改后的数组每一个元素,重新复合为一个字符串,方法参数是空,相当于合成字符串的时候,在每一个字符后面什么也不插入。
方法
刚开始学习时,对象的方法和属性不用记忆,用到的时候查一下,时间长了自然能够灵活应用
内置对象方法、属性查询-
split()
W3c解释
- 归类:字符串对象的方法
- 功能:把字符串转化为数组
- 参数:
方法的参数表达的意思是分割方法,比如split("。")表示以句号为标记,每一句话就是数组的一个元素,参数为空的时候split(""), 以单个字符为单位进行分割,每个字符是一个数组元素,那么何为一个字符?如果你了解ASSIC码、UTF-8等编码格式,不难理解,每一个阿拉伯数字, 每一个英文单词,汉文化圈中日韩越新的每一个汉字,每一个希腊字母都是一个字符符号,他们都有自己的对应的唯一的二进制编码。
注意 :字符串执行方法split(),字符串变量本身并没有变化,本质是一个字符串对象执行该方法后返回一个数组结果,返回的数据是依据字符串的内容生成的而已。 前面说过,对象的方法其实就是一个函数,split()函数相等于split(){...;return []}最后返回一个数组[],然后把返回的数组赋值给新的变量。 - join() W3c解释
- 归类:数组对象的方法
- 功能:把数组的元素合成为一个字符串
- 参数:参数表示形成字符串时,每隔一个元素插入一个参数符号,参数为空时join(""),会把数组里面的元素全部一次排列组成一个字符串,