- String 对象是 String
- 原始类型的对象表示法,它是以下方式创建的:
1 | var str1 = new String("hello world!"); |
- length属性
- 返回值:返回字符串个数(每个空格也算一个)
1 | var str = "wwww" |
- valueOf() 方法和 toString() 方法
- 返回值:stringObject 的原始字符串值
1 | var str = "hello world!" |
- charAt() 和 charCodeAt() 方法
- charAt() 返回的是指定位置的字符串
- charCodeAt() 返回在指定的位置的字符的 Unicode 编码
- 访问的是单个字符串的单个字符,这样两个方法都有一个参数(要操作字符的位置)
1 | var str = "qwerty" |
- concat() 方法
- 连接字符串
1 | var str = "ss" |
- indexOf() 和 lastIndexOf() 方法
- indexOf() 和 lastIndexOf() 方法返回的都是指定的子串在另一个字符串中的位置,如果没有找不到子串,则返回 -1。
- 区别:indexOf() 方法是从字符串的开头(位置 0)开始检索字符串,而 lastIndexOf() 方法则是从字符串的结尾开始检索子串。
1 | var str = "hello world!" |
- slice() 和 substring()
- 返回值: 一个新的字符串数
- 参数: 接受一个或者两个参数,一个参数表示从该参数位置截取到最后,两个参数表示从第一个参数位置开始截取第二个参数的位置
- 如果参数为负数,slice()表示从反方向截取; substring()会将负数解释为0,还会将小的数字作为起始位置;
1 | var str = "hello world!" |
- split()方法
- 用于把一个字符串分割成字符串数组
- 返回值: 一个字符串数组
1 | var str = "hello world!" |
- toLowerCase()、toLocaleLowerCase()、toUpperCase() 和 toLocaleUpperCase()
- 执行大小写转换
- 返回值:一个新的字符串
1 | var str = "hello world!" |
- match()
- 字符串内检索指定的值,或找到一个或多个正则表达式的匹配
- 但是它返回指定的值,而不是字符串的位置
- 返回值: 存放匹配结果的数组
1 | var str="1 plus 2 equal 3" |
- search()
- 返回第一个与 regexp 相匹配的子串的起始位置。
- 如果没有找到任何匹配的子串,则返回 -1。
1 | var str = "hello world!" |
- replace()
- 返回一个新的字符串
- 在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
1 | var newStr = str1.replace("hello", "你好") //你好 world! |
1 | //第一个参数是正则,第二个参数是带$符的字符串 |
上面的例子,$1表示regexp中的第一个子表示即([0-9])匹配单个数字,同理若是$2则表示第二个子表示即([a-z]);所以,’3c’这个匹配到的整体被第一个子表示说表示的’3’替换,’4d’被第一个子表示匹配的数字’4’所替换。其他几个同理可得:
(/([0-9])([a-z])/g,”$2″)—>////输出: 这是一段原始文本,”c这要替换d”!’; (3c和4d被相应的第二个子表示匹配出来的c和d替换)
- (/([0-9])([a-z])/g,”$’”)—>////输出: 这是一段原始文本,”这要替换d”!这要替换”!”!’; (3c被3c右侧文本替换,4d右侧是”!替换,所以出现俩次)
1 | // 第一个参数是正则,第二个参数函数 |
- 上面的例子函数的第一个参数为匹配的regexp的整体,根据长度函数返回值为相应替换的文本;