字符串常用的属性和方法
Posted cuishuangshuang
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串常用的属性和方法相关的知识,希望对你有一定的参考价值。
1、String.fromCharCode( )
作用:将Unicode码转成字符串
示例:
String.fromCharCode( ) // " "
String.fromCharCode( 97 ) // "a"
String.fromCharCode( 104,101,108,108,111) // "hello"
2、str.length
作用:返回字符串的长度
‘abc‘.length // 3
3、str.charAt( )
作用:返回指定位置的字符,参数是从0开始编号的位置
‘abc‘.charAt( 1 ) // ‘b‘
如果参数是负数或大于等于字符串的长度,charAt返回空字符串
‘abc‘.charAt( -1 ) // ‘ ‘
‘abc‘.charAt( 3 ) // ‘ ‘
4、str.charCodeAt( )
作用:返回字符串指定位置的unicode码
如果没有任何参数返回首字符的Unicode码
‘abc‘.charCodeAt( 1 ) // 98
‘abc‘.charCodeAt( ) // 97
如果参数为负数或大于等于字符串长度,charCodeAt返回NaN
‘abc‘.charCodeAt( -1 ) // NaN
‘abc‘.charCodeAt( 4 ) // NaN
5、str.concat( )
作用:连接两个字符串,返回一个新的字符串,不改变原字符串
示例:
var str1 = ‘abc‘
var str2 = ‘def‘
str1.concat( str2 ) // ‘abcdef‘
str1 // ‘abc‘
该方法还可以接受多个参数
‘a‘.concat( ‘b‘, ‘c‘ ) // ‘abc‘
如果参数不是字符串,concat方法会将其先转化为字符串,然后在连接
var one = 1
var two = 2
var three = ‘3‘
‘ ‘.concat( one, two, three) // ‘123‘
6、str.slice( )
作用:从原字符串中取出子字符串并返回,不改变原字符串。它的第一个参数是子字符串的开始位置,第二个参数是子字符串的结束位置(不包含该位置)
‘javascript‘.slice( 0, 4 ) // ‘java‘
如果省略第二个参数,则表示子字符串一直到原字符串结束
‘javascript‘.slice( 4 ) // ‘script‘
如果参数是负值,表示从结尾开始倒数计算的位置,即该负值加上字符串长度
‘javascript‘.slice( -6) // ‘script‘
‘javascript‘.slice( 0,-6 ) // ‘java‘
‘javascript‘.slice( -2,-1 ) // ‘p‘
如果第一个参数大于第二个参数,slice方法返回一个空字符串
‘javascript‘.slice( 2,1 ) // ‘ ‘
7、str.substring( )
作用:从原字符串中取出子字符串并返回,不改变原字符串,跟slice方法很像。它的第一个参数表示字符串的开始位置,第二个参数表示结束位置(不包含该位置)
‘javascript‘.substring( 0, 4 ) // ‘java‘
如果省略第二个参数,则表示子字符串一直到原字符串的结束
‘javascript‘.substring( 4 ) // ‘script‘
如果第一个参数大于第二个参数,substring方法会自动更换两个参数的位置
‘javascript‘.substring( 4,10 ) // ‘script‘
‘javascript‘.substring( 10,4 ) // ‘script‘
如果参数是负数,substring方法会自动将负数转为0
‘javascript‘.substring( -3 ) // ‘javascript‘
‘javascript‘.substring( 4,-3 ) // ‘java‘
8、str.substr( )
作用:从原字符串中取出子字符串并返回,不改变原字符串,它的第一个参数是子字符串的开始位置(从0开始计算)第二个参数是子字符串的长度
‘javascript‘.substr( 4, 6) // ‘script‘
如果省略第二个参数,则表示子字符串一直到原字符串的结束
‘javascript‘.substr( 4 ) // ‘script‘
如果第一个参数是负数,表示倒数计算的字符串位置,如果第二个参数是负数,将自动转为0,因此会返回空字符串
‘javascript‘.substr( -6 ) // ‘script‘
‘javascript‘.substr( 4, -1 ) // ‘ ‘
9、str.indexOf( )
作用:确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。如果返回-1就表示不匹配
‘javascript‘.indexOf( ‘s‘ ) // 4
‘javascript‘.indexOf( ‘Script‘ ) // -1
该方法还有第二个参数,表示从该位置开始向后匹配
‘hello world‘.indexOf( ‘o‘, 6 ) // 7
10、str.lastIndexOf( )
lastIndexOf方法的用法和indexOf方法一致,主要的区别在于lastIndexOf是从尾部开始匹配,indexOf则是从头部开始匹配
‘hello world‘.lastIndexOf( ‘o‘ ) // 7
另外lastIndexOf的第二个参数表示从该位置起向前匹配
‘hello world‘.lastIndexOf( ‘o‘,6 ) // 4
11、str.trim( )
作用:去除字符串两端的空格,返回一个新的字符串,不改变原字符串
‘ hello world ‘.trim( ) // ‘hello world‘
12、str.toLowerCase( )、str.toUpperCase( )
作用:将一个字符串全部转为小写,toUpperCase则是将字符串全部转为大写,他们都是返回一个新字符串,不会改变原来的字符串
‘Hello World‘.toLowerCase( ) // ‘hello world‘
‘Hello World‘.toUpperCase( ) // ‘HELLO WORLD‘
13、str.match( )
作用:确定原字符串是否匹配某个子字符串,返回一个数组,成员为匹配的第一个字符串。如果没有找到匹配,则返回null
‘abcdefg‘.match( ‘cd‘ ) // [ ‘cd‘ ]
‘abcdefg‘.match( ‘cb‘ ) // null
14、str.search( )
作用:确定原字符串是否匹配某个子字符串,返回值为匹配的第一个位置。如果没有找到匹配,则返回-1
‘abcdefg‘.search( ‘cd‘ ) // 2
‘abcdefg‘.search( ‘cb‘ ) // -1
15、str.replace( )
作用:替换匹配的子字符串,一般情况下只替换第一个匹配(除非使用带有g修饰符的正则表达式)
‘aaa‘.replace( ‘a‘, ‘b‘ ) // ‘baa‘
16、str.split( )
作用:按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组
‘a|b|c‘.split( ‘|‘ ) // [ ‘a‘, ‘b‘, ‘c‘ ]
如果分割规则为空字符串,则返回数组的成员是原字符串的每一个字符
‘a|b|c‘.split( ‘‘ ) // [ ‘a‘, ‘|‘, ‘b‘, ‘|‘, ‘c‘ ]
如果省略参数,则返回数组的唯一成员就是原字符串
‘a|b|c‘.split( ) // [ ‘a|b|c‘ ]
如果两个分割符中间没有其他字符,则返回数组之中会有一个空字符串
‘a||b‘.split( ‘|‘ ) // [ ‘a‘, ‘‘, ‘b‘ ]
‘|a|b‘.split( ‘|‘ ) // [ ‘‘, ‘a‘, ‘b‘ ]
‘a|b|‘.split( ‘|‘ ) // [ ‘a‘, ‘b‘, ‘‘ ]
split方法还可以接受第二个参数,限定返回数组的最大成员数
‘a|b|c‘.split( ‘|‘, 0 ) // [ ]
‘a|b|c‘.split( ‘|‘, 1 ) // [ ‘a‘ ]
‘a|b|c‘.split( ‘|‘, 2 ) // [ ‘a‘, ‘b‘ ]
‘a|b|c‘.split( ‘|‘, 3 ) // [ ‘a‘, ‘b‘, ‘c‘ ]
‘a|b|c‘.split( ‘|‘, 4 ) // [ ‘a‘, ‘b‘, ‘c‘ ]
ES6
17、str.includes( )
返回布尔值,表示是否找到了参数字符串
var str = ‘abc‘
str.includes(‘b‘) // true
str.includes(‘h‘) // false
18、str.startsWith( )
返回布尔值,表示参数字符串是否在原字符串的头部(区分大小写)
var str = ‘abc‘
str.startsWith(‘a‘) // true
str.startsWith(‘b‘) // false
可以接收第二个参数,表示开始的位置
str.startsWith(‘b‘,1) // true
19、str.endsWith( )
返回布尔值,表示参数字符串是否在原字符串的头部(区分大小写)
var str = ‘abc‘
str.endsWith(‘c‘) // true
str.endsWith(‘b‘) // false
可以接收第二个参数,表示结束的位置(不包含该位置)
str.endsWith(‘b‘) // false
str.endsWith(‘b‘,2) // true
20、str.repeat( )
返回一个新字符串,表示将原字符串重复n次
‘x‘.repeat(3) // ‘xxx‘
21、str.padStart( )
第一个参数表示新字符串的长度,第二个参数表示补全的字符
用于头部补全
‘x‘.padStart(4,‘ab‘) // ‘abax‘
22、str.padEnd( )
第一个参数表示新字符串的长度,第二个参数表示补全的字符
‘x‘.padEnd(4,‘ab‘) // ‘xaba‘
以上是关于字符串常用的属性和方法的主要内容,如果未能解决你的问题,请参考以下文章