字符串
字符串就是一个或多个排列在一起的字符,放在单引号或双引号之中。
‘abc‘
"abc"
length属性
js里的字符串类似于数组,都是一个一个字符拼凑在一起组成的,因此可以用length属性取得字符串的长度
var str = "hello"
str.length; // 5
字符串常用的一些方法
1. charAt()
1 str.charAt(n)
=> 返回字符串的第 n 个字符,如果不在 0~str.length-1之间,则返回一个空字符串。
1 var str = "javascript"; 2 str.charAt(2); //‘v‘ 3 str.charAt(12); //‘
2. indexOf()
1 indexOf(substr[,start])
=> 返回 substr 在字符串 str 中首次出现的位置,从 start 位置开始查找,如果不存在,则返回 -1。
start可以是任意整数,默认值为 0。如果 start < 0 则查找整个字符串(如同传进了 0)。如果 start >= str.length,则该方法返回 -1,除非被查找的字符串是一个空字符串,此时返回 str.length.
1 var str = "javascript"; 2 str.indexOf(‘s‘); // 1 3 str.indexOf(‘s‘,6); // -1 4 str.indexOf(‘‘,11); // 10 5 str.indexOf(‘‘,8); // 8
3. lastIndexOf()
1 lastIndexOf(substr[,start])
= > 返回 substr 在字符串 str 中最后出现的位置,从 start 位置 向前开始查找,如果不存在,则返回 -1。
1 ‘lastindex‘.lastIndexOf(‘a‘); // 1
4. substring()
1 str.substring(start[, end])
= > 返回从 start 到 end(不包括)之间的字符,start、end均为 非负整数。若结束参数(end)省略,则表示从start位置一直截取到最后。
1 var str = ‘abcdefg‘; 2 str.substring(1, 4); //"bcd" 3 str.substring(1); // "bcdefg" 4 str.substring(-1); //"abcdefg" 传入负值时会视为0
5. slice()
1 str.slice(start[,end])
= > 返回从 start 到 end (不包括)之间的字符,可传负值
1 var str = ‘this is awesome‘; 2 str.slice(4, -1); //" is awesom"
6. substr()
1 str.slice(start[,end])
= > 返回 str 中从指定位置开始到指定长度的子字符串,start可为负值
1 var str = "Just give me a reason"; 2 str.substr(5, 10); // "give me a " 3 str.substr(-4, 2); // "as"
7. replace()
1 str.replace(regexp|substr, newSubStr|function)
= > 替换 str 的子字符串
1 var str = "do you love me"; 2 str.replace(‘love‘,‘hate‘); // "do you hate me"
8. search()
1 str.search(regexp)
= > 查找 str 与一个正则表达式是否匹配。如果匹配成功,则返回正则表达式在字符串中首次匹配项的索引;否则,返回 -1。如果参数传入的是一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象
1 var str = ‘I love JavaScript!‘; 2 str.search(/java/); // -1 3 str.search(/Java/); // 7 4 str.search(/java/i); // 7 5 str.search(‘Java‘); // 7
9. match()
1 str.match(regexp)
= > 返回一个包含匹配结果的数组,如果没有匹配项,则返回 null。如果参数传入的是一个非正则表达式对象,则会使用 new RegExp(obj) 隐式地将其转换为正则表达式对象
1 var str = ‘Javascript java‘; 2 str.match(/Java/); // ["Java"] 3 str.match(/Java/gi); // ["java", "Java"] 4 str.match(/ab/g); // null
10. split()
1 str.split([separator][, limit])
= >返回一个数组,分隔符 separator 可以是一个字符串或正则表达式
1 var str = "Hello?World!"; 2 str.split(); // ["Hello?World!"] 3 str.split(‘‘); // ["H", "e", "l", "l", "o", "?", "W", "o", "r", "l", "d", "!"] 4 str.split(‘?‘); // ["Hello", "World!"] 5 str.split(‘‘,5); // ["H", "e", "l", "l", "o"]
11. trim()
1 str.trim()
= > 去除 str 开头和结尾处的空白字符,返回 str 的一个副本,不影响字符串本身的值
1 var str = ‘ abc ‘; 2 str.trim(); // ‘abc‘ 3 console.log(str); // ‘ abc ‘
12. toLowerCase()
1 str.toLowerCase()
= > 将 str 转换为小写,并返回 str 的一个副本,不影响字符串本身的值
1 var str = ‘JavaScript‘; 2 str.toLowerCase(); // ‘javascript‘ 3 console.log(str); // ‘JavaScript‘
13. toUpperCase()
1 str.toUpperCase()
= > 将 str 转换为大写,并返回 str 的一个副本,不影响字符串本身的值
1 var str = ‘JavaScript‘; 2 str.toUpperCase(); // ‘JAVASCRIPT‘ 3 console.log(str); // ‘JavaScript‘