目录
一、字符访问方法
1.1charAt()
- 功能:返回指定索引位置的字符
- 语法:str.charAt(index)
注意:该方法与数组中括号[index]下标访问方法功能一样,不推荐使用这种方法(啰嗦)
const str = "abcd";
console.log(str[1]); // b
console.log(str.charAt(1)); // b
1.2charCodeAt()
- 功能:返回指定索引位置字符的Unicode编码
- 语法:str.charCodeAt(index)
const str = "abcd";
console.log(str.charCodeAt(1)); // 98
二、字符串拼接方法
2.1concat()
- 功能:用于连接两个或多个字符串,并返回一个新的字符串
- 语法:str.concat(str1,str2,...,strN)
const str1 = "Hello"
const str2 = "World!"
const str = str1.concat(str2);
console.log(str); // "HelloWorld!"
三、字符串查找方法
3.1indexOf()
- 功能:返回指定字符串在原字符串中第一次出现的索引,未找到返回-1
- 语法:str.indexOf(searchValue,fromIndex)
- fromIndex:表示从字符串的哪个索引位置向后查找,默认为0
const str = "Hello,World!";
console.log(str.indexOf("Hello")); // 0
console.log(str.indexOf("Hello",1)); // -1
3.2lastIndexOf()
- 功能:返回指定字符串在原字符串中最后一次出现的索引(即从字符串尾部向头部查找),未找到返回-1
- 语法:str.lastIndexOf(searchValue,fromindex)
- fromIndex:表示从字符串的哪个索引位置向前查找,默认为str.length - 1
const str = "Hello,World!";
console.log(str.lastIndexOf("Hello")); // 0
console.log(str.lastIndexOf("Hello",1)); // 0
3.3includes()
- 功能:判断一个字符串是否包含另一个字符串,返回布尔值
- 语法:str.includes(searchString,position)
- position:表示开始搜索的位置
const str = "Hello,World!";
const searchStr = "Hello";
console.log(str.includes(searchStr)); // true
console.log(str.includes(searchStr,1)); // false
3.4startsWith()
- 功能:判断字符串是否以指定的子字符串开头,返回布尔值
- 语法:str.startsWith(searchString,position)
- position:表示向后搜索的位置
const str = "Hello,World!";
const searchStr = "Hello";
console.log(str.startsWith(searchStr)); // true
console.log(str.startsWith(searchStr,1)); // false
3.5endsWith()
- 功能:判断字符串是否以指定的子字符串结尾,返回布尔值
- 语法:str.startsWith(searchString,length)
- length:表示搜索字符串的长度,默认为str.length
const str = "Hello,World!";
const searchStr = "Hello";
console.log(str.endsWith(searchStr)); // true
console.log(str.endsWith(searchStr,4)); // false
console.log(str.endsWith(searchStr,5)); // true
四、字符串截取方法
4.1slice()
- 功能:提取字符串的一部分,并返回一个新的字符串。可以接受负数索引,表示从字符串的末尾开始计算。
- 语法:str.slice(start,end)
- start:切割的起始位置
- end:切割的终止位置,不包括end
const str = "Hello,World!";
const a = str.slice(0,5);
const b = str.slice(2,5);
console.log(a); // "Hello"
console.log(b); // "llo"
4.2substring()
- 功能:提取字符串中两个指定索引之间的字符,返回一个新的字符串。不接受负数索引
- 语法:str.substring(start,end)
const str = "Hello,World!";
const a = str.substring(0,5);
const b = str.substring(2,5);
console.log(a); // "Hello"
console.log(b); // "llo"
五、字符串替换方法
5.1replace()
- 功能:替换字符串中的指定部分,并返回一个新的字符串。默认只替换第一个匹配项。
- 语法:str.replace(regexp | substr,newSubstr | function)
- regexp:正则表达式对象。指定要匹配的模式
- substr:字符串,表示要被替换的字符串
- newSubstr:替换字符串
- function:回调函数,动态生成替换的内容。该函数会在每次匹配时被调用,其返回值将作为替换内容
const str = "Hello,World!";
console.log(str.replace("World","JavaScript")); // "Hello,JavaScript!"
console.log(str.replace("World",() => "JavaScript")); // "Hello,JavaScript!"
六、字符串大小写转换方法
6.1toUpperCase()
- 功能:将字符串中的所有字符转换为大写,返回一个新的字符串
- 语法:str.toUpperCase()
const str = "Hello,World!";
console.log(str.toUpperCase()); // HELLO,WORLD!
6.2toLowerCase()
- 功能:将字符串中的所有字符转换为小写,返回一个新的字符串
- 语法:str.toLowerCase()
const str = "Hello,World!";
console.log(str.toLowerCase()); // "hello,world!"
七、字符串分割方法
7.1split()
- 功能:将字符串分割成一个数组,可以指定分隔符
- 语法:str.split(separator,limit)
- separator:分隔符,可以是字符串或正则表达式。如果是空字符串,则字符串会被分割成由每个字符组成的数组
- limit:整数参数,用于指定返回的数组的最大长度。当分割操作在达到limit个元素时,会停止分割
const str = "Hello,World!";
const arr = str.split(',');
console.log(arr); // ["Hello", "World!"]
八、字符串去除空白方法
8.1trim()
- 功能:去除字符串两段的空白字符,并返回一个新字符串
- 语法:str.trim()
const str = " Hello,World! ";
console.log(str.trim()); // "Hello,World!"
九、字符串填充方法
9.1padStart()
- 功能:用另一个字符串从左侧填充当前字符串,直到达到指定的长度
- 语法:str.padStart(targetLength,padString)
- targetLength:整数,表示期望字符串达到的最终长度。如果targetLength小于或等于原字符串str长度,则直接返回原字符串
- padString:填充字符串,用于填充在原字符串开头。默认使用空格字符填充。
const str = "Hello,World!";
console.log(str.padStart(20)); // " Hello,World!"
console.log(str.padStart(20,"AAA")); // "AAAAAAAHello,World!"
9.2padEnd()
- 功能:用另一个字符串从右侧填充当前字符串,直到达到指定的长度
- 语法:str.padEnd(targetLength,padString)
const str = "Hello,World!";
console.log(str.padEnd(20)); // "Hello,World! "
console.log(str.padEnd(20,"AAA")); // "Hello,World!AAAAAAA"
十、字符串重复方法
10.1repeat()
- 功能:返回一个新字符串,该字符串包含指定次数重复的原字符串
- 语法:str.repeat(count)
- count:正整数,表示重复次数。默认为0
const str = "Hello,World!";
console.log(str.repeat(2)); //Hello,World!Hello,World!
console.log(str.repeat()); // ""
十一、字符串标准化方法
11.1normalize()
- 功能:按照指定的Unicode正规化形式将字符串正规化。可用于处理不同字符表达形式的规范化
- 语法:str.normalize(form)
- form:字符串,用于指定Unicode正规化形式。默认使用‘NFC’格式
let str = '\u006E\u0303'; // "ñ" 的组合形式
let normalizedStr = str.normalize('NFC');
console.log(normalizedStr); "ñ"
十二、字符串比较方法
12.1localeCompare()
- 功能:比较两个字符串,返回一个数字表示它们在排序顺序中的相对位置
- 语法:str.localeCompare(compareStrig,locales,options)
- compareString:和str比较的字符串
- locales:指定进行比较时使用的语言环境。默认使用运行时环境的默认语言环境
- options:配置对象,定制比较的行为
- base:忽略大小写和重音符号
- accent:忽略大小写
- case:忽略重音符号
- variant:考虑大小写和重音符号(默认值)
- ignorePunctuation:布尔值,是够忽略标点符号,默认为False
- numeric:布尔值,指示是否按数字顺序比较包含数字的字符串。默认值为False
- 返回值:
- 如果str在compareString之前,返回一个负数
- 如果str等于compareString,返回0
- 如果str在compareString之后,返回一个正数
const referenceStr = 'apple';
const compareString = 'banana';
const result = referenceStr.localeCompare(compareString);
console.log(result); // -1