上篇文章整理了有关数组的知识点,其中有提到类数组的概念--具有length和数字索引属性的对象。字符串原始值属于基本类型,但是在调用字符串的属性和方法时会被自动转换为基本包装类型--具有length和数字索引属性的对象,此时也属于类数组的范围,所以我们接着类数组的概念来继续学习类数组字符串。
创建字符串的方式:
字面量方式;
构造函数创建方式:new String( ) 生成字符串对象;String( ) 显性强制转换为字符串类型;前者生成的是对象,后者生成的是字符串;
String.fromCharCode():通过字符码生成字符串;String.fromCodePoint();
访问字符串某个单个字符:
str.at(index):index支持负值;str.charAt(index):index不支持负值;str[index],但是通过数组索引的方式访问字符串是不能修改字符串的,这是因为字符串对象的修饰符不允许修改。所有的字符串方法和属性都不能修改原字符串,只能生成新字符串;
检索子字符串
str.includes(substr,index):检索字符串str是否包含子字符串substr,返回布尔值;
str.indexOf(substr,index):返回子字符串substr在字符串str中第一次出现的位置索引;str.search(reg/substr):一个正则表达式(regular expression)对象。如果传入一个非正则表达式对象 regexp,则会使用 new RegExp(regexp) 隐式地将其转换为正则表达式对象。
str.match(reg/str):检索匹配部分或所有符合匹配规则的子字符串,返回一个结果合集数组;关联方法:str.matchAll(reg/str)。
替换字符串中的部分字符,生成新的字符串
newStr = str.replace(subStr/reg,()=>{}):关联方法:newStr = str.replaceAll(subStr/reg,()=>{})。
复制生成新的字符串
newStr = str.sclice(startIdex,endIndex):参数支持负值索引值;newStr = str.subString(startIdex,endIndex):参数只支持字符串索引范围内的值,不支持负值。
【金山文档】 字符串整理笔记 kdocs.cn/l/coUMsMjJp…