字符串是 JavaScript 的一种基本的数据类型。
String 对象的 length 属性声明了该字符串中的字符数。
需要注意的是,JavaScript 的字符串是不可变的( immutable),String 类定义的方法都不能改变字符串的内容。
以下是字符串的一些常用方法:
-
concat
concat()方法用于连接两个或多个字符串。concat()方法将把它的所有参数转换成字符串,然后按顺序连接到字符串 stringObject 的尾部,并返回连接后的字符串。
var str="test1";
var str2="test2";
var str3 = "test3";
console.log(str.concat(str2,str3)); //test1test2test3
console.log(str);//test1
-
includes
includes()方法确定一个字符串是否存在另一个字符串,如果存在则返回true,反之返回false,注意:区分大小写
'Blue Whale'.includes('blue');//false
var str = 'To be, or not to be, that is the question.';
console.log(str.includes('To be')); // true console.log(str.includes('question')); // true
console.log(str.includes('nonexistent')); // false
console.log(str.includes('To be', 1)); // false
console.log(str.includes('TO BE')); // false
-
endswith
endswith()方法确定一个字符串是否以另一个字符串结尾,如果是则返回true,反之返回false,参数列表中第二个参数限定此方法判断的字符串的范围,19表示从下标0~19的子字符串
var str = 'To be, or not to be, that is the question.'; console.log(str.endsWith('question.')); // true
console.log(str.endsWith('to be')); // false
console.log(str.endsWith('to be', 19)); // true
-
match
match()方法可在字符串内检索指定的值,找到一个或多个正则表达式的匹配。 如果参数中传入的是子字符串或是没有进行全局匹配的正则表达式,那么match()方法会从开始位置执行一次匹配,如果没有匹配到结果,则返回null。否则则会返回一个数组,该数组的第0个元素存放的是匹配文本,除此之外,返回的数组还含有两个对象属性index和input,分别表示匹配文本的起始字符索引和stringObject 的引用(即原字符串)。
let str = '#1a2b3c4d5e#‘
console.log(str.match(/’h’/g)) //返回null
console.log(str.match(/\d/g)) //返回["1", "2", "3", "4", "5"]
-
repeat
repeat方法返回一个新字符串,表示将原字符串重复n次。参数如果是小数,会被取整。如果repeat的参数是负数或者Infinity,会报错,但是,如果参数是0到-1之间的小数,则等同于0,这是因为会先进行取整运算。0到-1之间的小数,取整以后等于-0,repeat视同为0。参数NaN等同于0。如果repeat的参数是字符串,则会先转换成数字。
-
search
search()方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。它会返回第一个匹配的子字符串的起始位置,如果没有匹配的,则返回-1。
-
slice
slice()方法与substring()方法非常类似,它传入的两个参数也分别对应着开始位置和结束位置。而区别在于,slice()中的参数可以为负值,如果参数是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符。
-
split
Split()方法将字符串分割成数组,str.split(separator, limit)separator 指定用来分割字符串的字符(串)。separator 可以是一个字符串或正则表达式。 如果忽略 separator,则返回整个字符串的数组形式。如果 separator 是一个空字符串,则 str 将会把原字符串中每个字符的数组形式返回。 limit 一个整数,限定返回的分割片段数量。split 方法仍然分割每一个匹配的 separator,但是返回的数组只会截取最多 limit 个元素。
-
trim
trim()方法将字符串中起始位置到第一个字符和最后一个字符到末尾的空格移除
-
模板字符串
模板字符串(template string)是增强版的字符串,用反引号(`)标识。它可以当作普通字符串使用,也可以用来定义多行字符串,或者在字符串中嵌入变量(大括号内部可以放入任意的JavaScript表达式,可以进行运算,以及引用对象属性,还能调用函数),甚至还能嵌套。