字符串
-
字符串就是一個或多個排列在一起的字符矛洞,放在單引號或雙引號之中。
'abc' "abc"
-
length
屬性
js里的字符串類似于數(shù)組,都是一個一個字符拼湊在一起組成的剂跟,因此可以用length
屬性取得字符串的長度var str = "hello" str.length; // 5
字符串常用的一些方法
1. charAt()
str.charAt(n)
=> 返回字符串的第 n 個字符,如果不在 0~str.length-1之間酣藻,則返回一個空字符串曹洽。
var str = "javascript";
str.charAt(2); //'v'
str.charAt(12); //''
2. indexOf()
indexOf(substr[,start])
=> 返回 substr 在字符串 str 中首次出現(xiàn)的位置,從 start 位置開始查找,如果不存在辽剧,則返回 -1送淆。
start可以是任意整數(shù),默認值為 0怕轿。如果 start < 0 則查找整個字符串(如同傳進了 0)偷崩。如果 start >= str.length,則該方法返回 -1撞羽,除非被查找的字符串是一個空字符串阐斜,此時返回 str.length.
var str = "javascript";
str.indexOf('s'); // 1
str.indexOf('s',6); // -1
str.indexOf('',11); // 10
str.indexOf('',8); // 8
3. lastIndexOf()
lastIndexOf(substr[,start])
= > 返回 substr 在字符串 str 中最后出現(xiàn)的位置,從 start 位置 向前開始查找,如果不存在诀紊,則返回 -1智听。
'lastindex'.lastIndexOf('a'); // 1
4. substring()
str.substring(start[, end])
= > 返回從 start 到 end(不包括)之間的字符,start、end均為 非負整數(shù)到推。若結(jié)束參數(shù)(end)省略考赛,則表示從start位置一直截取到最后。
var str = 'abcdefg';
str.substring(1, 4); //"bcd"
str.substring(1); // "bcdefg"
str.substring(-1); //"abcdefg" 傳入負值時會視為0
5. slice()
str.slice(start[,end])
= > 返回從 start 到 end (不包括)之間的字符莉测,可傳負值
var str = 'this is awesome';
str.slice(4, -1); //" is awesom"
6. substr()
str.slice(start[,end])
= > 返回 str 中從指定位置開始到指定長度的子字符串颜骤,start可為負值
var str = "Just give me a reason";
str.substr(5, 10); // "give me a "
str.substr(-4, 2); // "as"
7. replace()
str.replace(regexp|substr, newSubStr|function)
= > 替換 str 的子字符串
var str = "do you love me";
str.replace('love','hate'); // "do you hate me"
8. search()
str.search(regexp)
= > 查找 str 與一個正則表達式是否匹配。如果匹配成功捣卤,則返回正則表達式在字符串中首次匹配項的索引忍抽;否則,返回 -1董朝。如果參數(shù)傳入的是一個非正則表達式對象鸠项,則會使用 new RegExp(obj) 隱式地將其轉(zhuǎn)換為正則表達式對象
var str = 'I love JavaScript!';
str.search(/java/); // -1
str.search(/Java/); // 7
str.search(/java/i); // 7
str.search('Java'); // 7
9. match()
str.match(regexp)
= > 返回一個包含匹配結(jié)果的數(shù)組,如果沒有匹配項子姜,則返回 null祟绊。如果參數(shù)傳入的是一個非正則表達式對象,則會使用 new RegExp(obj) 隱式地將其轉(zhuǎn)換為正則表達式對象
var str = 'Javascript java';
str.match(/Java/); // ["Java"]
str.match(/Java/gi); // ["java", "Java"]
str.match(/ab/g); // null
10. split()
str.split([separator][, limit])
= >返回一個數(shù)組哥捕,分隔符 separator 可以是一個字符串或正則表達式
var str = "Hello?World!";
str.split(); // ["Hello?World!"]
str.split(''); // ["H", "e", "l", "l", "o", "?", "W", "o", "r", "l", "d", "!"]
str.split('?'); // ["Hello", "World!"]
str.split('',5); // ["H", "e", "l", "l", "o"]
11. trim()
str.trim()
= > 去除 str 開頭和結(jié)尾處的空白字符牧抽,返回 str 的一個副本,不影響字符串本身的值
var str = ' abc ';
str.trim(); // 'abc'
console.log(str); // ' abc '
12. toLowerCase()
str.toLowerCase()
= > 將 str 轉(zhuǎn)換為小寫遥赚,并返回 str 的一個副本扬舒,不影響字符串本身的值
var str = 'JavaScript';
str.toLowerCase(); // 'javascript'
console.log(str); // 'JavaScript'
13. toUpperCase()
str.toUpperCase()
= > 將 str 轉(zhuǎn)換為大寫,并返回 str 的一個副本凫佛,不影響字符串本身的值
var str = 'JavaScript';
str.toUpperCase(); // 'JAVASCRIPT'
console.log(str); // 'JavaScript'