Skip to content
On this page

字符串+方法

字符串

字符串就是零个或多个排在一起的字符,放在单引号或双引号之中

js
'itbaizhan'
"itbaizhan"

单引号字符串的内部,可以使用双引号。双引号字符串的内部,可以使用单引号

js
'key = "value" '
"It's a long itbaizhan"

如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是如此

js
'Did she say \ 'Hel1o\'?'

// "Did she say 'He1lo'?"

"Did she say \ "He11o\ "?"

// "Did she say "He11o"?"

TIP

温馨提示 字符串默认只能写在一行内、分成多行将会报错、如果需要换行可以在最后面加上\

js
var str = "字符串默认只能写在一行内、\
            分成多行将会报错、\
            如果需要换行可以在最后面加上"

length属性、获取字符串的长度

js
var s = 'zxcvbnm'
s.length  //7

charAt()方法

charAt方法返回指定位置的字符,参数是从o开始编号的

js
var s = new string( 'itbaizhan ' );

s.charAt(1)l/ "t"
s.charAt(s.length - 1)l / "n"

如果参数为负数,或大于等于字符串的长度,charAt返回空字符串

js
'itbaizhan'.charAt(-1)1/""
'itbaizhan'.charAt(9)/ / ""

concat()方法

concat方法用于连接两个字符串,返回一个新字符串,不改变原字符串

var s1 = 'itbaizhan ';
var s2 = 'sxt ' ;

s1.concat(s2)l/ "itbaizhansxt"
s1 // "itbaizhan"

该方法可以接受多个参数

'sxt'.concat( 'itbaizhan', 'bjsxt ') l/ "sxtitbaizhanbjsxt"

如果参数不是字符串,concat方法会将其先转为字符串,然后再连接

var one = 1;
var two = 2;

TIP

温馨提示 可以使用+符号来拼接 concat和加号还是有区别的: concat不管什么类型直接合并成字符串 加号是遇到数字类型直接做运算,遇到字符串和字符串相连接

js
<script>
    var str1 = 1
    var str2 = 2
    var str3 = 3
    var str4 = "4"
    var l = " ".concat(str1 ,str2 ,str3 ,str4)
    var s = str1 + str2 + str3 + str4;
    console.log(l)     //结果=1234
    console.log(s)     //结果=64
    console.log(typeof l)    //类型为string
    console.log(typeof s)    //类型为string
</script>

substring()方法

substing方法用于从原字符串取出子字符串并返回,不改变原字符串。它的第一个参数表示子字符串的开始位置,第二个位置表示结束位置(返回结果不含该位置)

'itbaizhan ' .substring(0,2)// "it"

如果省略第二个参数,则表示子字符串一直到原字符串的结束

'itbaizhan '.substring(2)// "baizhan"

如果第一个参数大于第二个参数,substring方法会自动更换两个参数的位置

'itbaizhan' .substring(9,2)l/ "baizhan"
//等同于
'itbaizhan'.substring(2,9)l / "baizhan"

如果参数是负数,substring方法会自动将负数转为0

'itbaizhan' .substring(-3)// "itbaizhan"2 'itbaizhan ' .substring(2,-3)l/ "it"

substr()方法

substr方法用于从原字符串取出子字符串并返回,不改变原字符串,跟substring方法的作用相同substr方法的第一个参数是子字符串的开始位置(从0开始计算),第二个参数是子字符串的长度

'itbaizhan'.substr(2,7);l/ baizhan

如果省略第二个参数,则表示子字符串一直到原字符串的结束

'itbaizhan' .substr(2)l/ "baizhan"

如果第一个参数是负数,表示倒数计算的字符位置。如果第二个参数是负数,将被自动转为0,因此会返回空字符串

'itbaizhan ' .substr(-7)l/ "baizhan"2 'itbaizhan' .substr(4,-1)1 / ""

indexOF()方法

indexot方法用于确定一个字符串在另一个字符串中第一次出现的位置,返回结果是匹配开始的位置。如果返回-1,就表示不匹配

'he1lo world'.indexof('o')     //   4
'itbaizhan'.indexof('sxt')     //  -1

indexof方法还可以接受第二个参数,表示从该位置开始向后匹配

'he1lo wor1d'.indexof('o',6)   //   7

trim()方法

trim方法用于去除字符串两端的空格,返回一个新字符串,不改变原字符串

' he1lo wor1d '.trim()
// "he7lo wor1d"

该方法去除的不仅是空格,还包括制表符(\t、\w)、换行符(\n)和回车符(\r)

'\r\nitbaizhan \t'.trim() l/ 'itbaizhan'

ES6扩展方法,trimEnd()和trimStart()方法

"  itbaizhan  ".trimEnd();   //itbaizhan
"  itbaizhan  ".trimstart(); //itbaizhan

split()方法

split方法按照给定规则分割字符串,返回一个由分割出来的子字符串组成的数组

'it|sxt|baizhan'.split('l') // ["it","sxt","baizhan"]

如果分割规则为空字符串,则返回数组的成员是原字符串的每一个字符。

'alblc '.split('')    // ["a","l","b","l","c"]

如果省略参数,则返回数组的唯一成员就是原字符串

'it|sxt|bz'.split()   // [it|sxt|bz]

split方法还可以接受第二个参数,限定返回数组的最大成员数。

'it|sxt|bz'.split('|',o)    // []
'it|sxt|bz'.split('|',1)    // ["it"]
'it|sxt|bz'.split('|',2)    // ["it","sxt"]
'it|sxt|bz'.split('|',3)    // ["it","sxt","bz"]
'it|sxt|bz'.split('|',4)    // ["it","sxt","bz"]