字符串
JavaScript中的 String 类型用于表示文本型的数据. 它是由无符号整数值(16bit)作为元素而组成的集合. 字符串中的每个元素在字符串中占据一个位置. 第一个元素的index值是0, 下一个元素的index值是1, 以此类推. 字符串的长度就是字符串中所含的元素个数.你可以通过String字面值或者String对象两种方式创建一个字符串.
获取长度
可以通过length属性来获取字符串的长度。
例子:
console.log("互道科技2017".length); // 8
连接和分割
连结字符串
连结两个字符串可以使用concat()函数或直接使用+运算符。
例子:
var str="hello ",str1="word "; str.concat(str1) // "hello word " str1+str // "word hello "
分割字符串
分割字符串可以使用split()函数。
例子:
var str="hello"; str.split("") // ["h", "e", "l", "l", "o"]
子串操作
查找子串
在字符串中查找子串可以根据情况分别使用以下几种不同方法:
- indexOf(searchstr,fromIndex)
检索指定的字符串值在字符串中首次出现的位置 - lastIndexof(searchstr,fromIndex)
返回的是一个指定的子字符串值最后出现的位置,其检索顺序是从后向前。 - search()
用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。
它会返回第一个匹配的子字符串的起始位置,如果没有匹配的,则返回-1 - match()
match()方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
如果参数中传入的是子字符串或是没有进行全局匹配的正则表达式,那么match()方法会从开始位置执行一次匹配,如果没有匹配到结果,则返回null。
否则则会返回一个数组,该数组的第0个元素存放的是匹配文本,除此之外,返回的数组还含有两个对象属性index和input,分别表示匹配文本的起始字符索引和stringObject 的引用(即原字符串)。
例子:
var str="hello word"; str.indexOf("d"); // 9 str.lastIndexOf("d");// 9 str.search("d") // 9 str.match("d") // ["d"]
截取子串
- substring(start,end)
substring()是最常用到的字符串截取方法,它可以接收两个参数(参数不能为负值),分别是要截取的开始位置和结束位置,它将返回一个新的字符串,其内容是从start处到end-1处的所有字符。若结束参数(end)省略,则表示从start位置一直截取到最后。 - lice(start,end)
slice()方法与substring()方法非常类似,它传入的两个参数也分别对应着开始位置和结束位置。而区别在于,slice()中的参数可以为负值,如果参数是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符。 - substr(start,length)
substr()方法可在字符串中抽取从start下标开始的指定数目的字符。其返回值为一个字符串,包含从 stringObject的start(包括start所指的字符)处开始的length个字符。如果没有指定 length,那么返回的字符串包含从start到stringObject的结尾的字符。另外如果start为负数,则表示从字符串尾部开始算起。
例子:
var str = "0123456789"; str.substring(0);// "0123456789" str.substring(5);// "56789" str.substring(10);// "" str.substring(12);// "" str.substring(-5);// "0123456789" str.substring(-10);// "0123456789" str.substring(-12);// "0123456789" str.substring(0,5);// "01234" str.substring(0,10);// "0123456789" str.substring(0,12);// "0123456789" str.substring(2,0);// "01" str.substring(2,2);// "" str.substring(2,5);// "234" str.substring(2,12);// "23456789" str.substring(2,-2);// "01" str.substring(-1,5);// "01234" str.substring(-1,-5);// "" str.substr(0);// "0123456789" str.substr(5);// "56789" str.substr(10);// "" str.substr(12);// "" str.substr(-5);// "56789" str.substr(-10);// "0123456789" str.substr(-12);// "0123456789" str.substr(0,5);// "01234" str.substr(0,10);// "0123456789" str.substr(0,12);// "0123456789" str.substr(2,0);// "" str.substr(2,2);// "23" str.substr(2,5);// "23456" str.substr(2,12);// "23456789" str.substr(2,-2);// "" str.substr(-1,5);// "9" str.substr(-1,-5);// ""
替换子串
替换子串可以使用replace()函数。
例子:
var str="hello word"; str.replace("word","hello") // "hello hello"
转换
转换成大写
var str="str"; str.toUpperCase() // "STR"
转换成小写
var str="STR"; str.toLowerCase() // "str"