---
title: 字符操作
date: 2018-06-09 16:29:00
updated: 2018-06-10 12:00:00
categories:
- 语言基础
tags:
- nodejs
---
目录
正文
es5
1. String.fromCharCode() 该方法的参数是一系列Unicode码点,返回对应的字符串。
2. charAt() 该方法返回指定位置的字符,参数是从0开始编号的位置。
3. charCodeAt()方法返回给定位置字符的Unicode码点(十进制表示),相当于String.fromCharCode()的逆操作。
4. concat() 方法用于连接两个字符串,返回一个新字符串,不改变原字符串。
5. slice() 方法用于从原字符串取出子字符串并返回,不改变原字符串。它的第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不含该位置)。
6. substring() 方 法用于从原字符串取出子字符串并返回,不改变原字符串。它与slice作用相同,但有一些奇怪的规则,因此不建议使用这个方法,优先使用slice。此方法的第一个参数表示子字符串的开始位置,第二个位置表示结束位置。
7. substr()方法用于从原字符串取出子字符串并返回,不改变原字符串。此方法的第一个参数是子字符串的开始位置,第二个参数是子字符串的长度。
8. indexOf(),lastIndexOf()这两个方法用于确定一个字符串在另一个字符串中的位置,都返回一个整数,表示匹配开始的位置。如果返回-1,就表示不匹配。两者的区别在于,indexOf从字符串头部开始匹配,lastIndexOf从尾部开始匹配。
9. trim() 方法用于去除字符串两端的空格,返回一个新字符串,不改变原字符串。
10. toLowerCase(),toUpperCase(),toLowerCase方法用于将一个字符串全部转为小写,toUpperCase则是全部转为大写。它们都返回一个新字符串,不改变原字符串。
11. localeCompare()方法用于比较两个字符串。它返回一个整数,如果小于0,表示第一个字符串小于第二个字符串;如果等于0,表示两者相等;如果大于0,表示第一个字符串大于第二个字符串。
12. match()方法用于确定原字符串是否匹配某个子字符串,返回一个数组,成员为匹配的第一个字符串。如果没有找到匹配,则返回null。
13. search() 方法的用法等同于match,但是返回值为匹配的第一个位置。如果没有找到匹配,则返回-1。
14. replace() 方法用于替换匹配的子字符串,一般情况下只替换第一个匹配(除非使用带有g修饰符的正则表达式)。
15. split() 方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组。
es6
//https://www.cnblogs.com/z-dl/p/8252258.html
1. 字符的 Unicode 表示法
2. codePointAt() JavaScript 内部,字符以 UTF-16 的格式储存,每个字符固定为2个字节。对于那些需要4个字节储存的字符(Unicode 码点大于0xFFFF的字符),JavaScript 会认为它们是两个字符。
3. String.fromCodePoint() ES5 提供String.fromCharCode方法,用于从码点返回对应字符,但是这个方法不能识别 32 位的 UTF-16 字符(Unicode 编号大于0xFFFF)。
4. 字符串的遍历器接口 ES6 为字符串添加了遍历器接口(Iterator),使得字符串可以被for...of循环遍历。
5. at() ES5 对字符串对象提供charAt方法,返回字符串给定位置的字符。该方法不能识别码点大于0xFFFF的字符。
6. normalize() 许多欧洲语言有语调符号和重音符号。为了表示它们,Unicode 提供了两种方法。一种是直接提供带重音符号的字符,比如Ǒ(\u01D1)。另一种是提供合成符号(combining character),即原字符与重音符号的合成,两个字符合成一个字符,比如O(\u004F)和ˇ(\u030C)合成Ǒ(\u004F\u030C)。
7. includes(), startsWith(), endsWith()
传统上,JavaScript 只有indexOf方法,可以用来确定一个字符串是否包含在另一个字符串中。ES6 又提供了三种新方法。
a). includes():返回布尔值,表示是否找到了参数字符串。
b). startsWith():返回布尔值,表示参数字符串是否在原字符串的头部。
c). endsWith():返回布尔值,表示参数字符串是否在原字符串的尾部。
8. repeat() 方法返回一个新字符串,表示将原字符串重复n次。
9. padStart(),padEnd() ES2017 引入了字符串补全长度的功能。如果某个字符串不够指定长度,会在头部或尾部补全。padStart()用于头部补全,padEnd()用于尾部补全。
10. 模板字符串
11. 模板编译
12. 标签模板 模板字符串的功能,不仅仅是上面这些。它可以紧跟在一个函数名后面,该函数将被调用来处理这个模板字符串。这被称为“标签模板”功能(tagged template)。
13. String.raw()方法,往往用来充当模板字符串的处理函数,返回一个斜杠都被转义(即斜杠前面再加一个斜杠)的字符串,对应于替换变量后的模板字符串。
14. 模板字符串的限制 前面提到标签模板里面,可以内嵌其他语言。但是,模板字符串默认会将字符串转义,导致无法嵌入其他语言。
网友评论