本文介紹一下JavaScript中的字符串對(duì)象
創(chuàng)建字符串
var str = new String("我愛(ài)我的祖國(guó)");
var str = "我愛(ài)我的祖國(guó)"
var str ='我愛(ài)我的祖國(guó)'
- 特點(diǎn):雙引號(hào)字符串可以包含單引號(hào),單引號(hào)里面可以包含雙引號(hào)
- 注意:用new創(chuàng)建的兩個(gè)字符串即使值一樣也不相等
字符串搜索
1.indexOf()方法
- indexOf() 方法可返回某個(gè)指定的字符串值在字符串中首次出現(xiàn)的位置。如果沒(méi)有找到匹配的字符串則返回 -1。
- indexOf()方法有兩個(gè)參數(shù),第一個(gè)參數(shù)規(guī)定需檢索的字符串值,必需。
第二個(gè)參數(shù)規(guī)定在字符串中開(kāi)始檢索的位置。它的合法取值是 0 到 string Object.length - 1。如省略該參數(shù),則將從字符串的首字符開(kāi)始檢索,可選。
var str = '我是字符串';
str.indexOf(“字符”); // 2
str.indexOf('字符',3); // -1
2.lastIndexOf() 方法
- lastIndexOf() 方法可返回一個(gè)指定的字符串值最后出現(xiàn)的位置,如果指定第二個(gè)參數(shù) start,則在一個(gè)字符串中的指定位置從后向前搜索。
var str = 'hello world';
console.log(str.lastIndexOf('l')); // 1
- 注意: 該方法將從后向前檢索字符串,但返回是從起始位置 (0) 開(kāi)始計(jì)算子字符串最后出現(xiàn)的位置。 看它是否含有字符串。
開(kāi)始檢索的位置在字符串的 start 處或字符串的結(jié)尾(沒(méi)有指定 start 時(shí))。
charAt() 方法
- charAt() 方法返回下標(biāo)對(duì)應(yīng)的字符串
var str = 'hello';
console.log(str.charAt(2)); // l
replace() 方法
- replace() 方法用于在字符串中用一些字符替換另一些字符,或替換一個(gè)與正則表達(dá)式匹配的子串。
var str = 'hello world';
var str2 = str.replace('world','china');
console.log(str2) // hello china
length屬性返回字符串的長(zhǎng)度
字符串截取
1.substring()
substring() 方法用于提取字符串中介于兩個(gè)指定下標(biāo)之間的字符。
substring() 方法返回的子串包括 開(kāi)始 處的字符,但不包括 結(jié)束 處的字符。
substring() 方法有兩個(gè)參數(shù),第一個(gè)參數(shù)是一個(gè)非負(fù)的整數(shù),規(guī)定要提取的子串的第一個(gè)字符在 string Object 中的位置,必需。
第二個(gè)參數(shù)是一個(gè)非負(fù)的整數(shù),比要提取的子串的最后一個(gè)字符在 string Object 中的位置多 1,可選。
var str="Hello world!";
document.write(str.substring(3)+"<br>"); // lo world!
document.write(str.substring(3,7)); // lo w
2.substr()
- substr() 方法可在字符串中抽取從 開(kāi)始 下標(biāo)開(kāi)始的指定數(shù)目的字符。
- substr() 方法有兩個(gè)參數(shù),第一個(gè)參數(shù)是要抽取的子串的起始下標(biāo)。必須是數(shù)值。如果是負(fù)數(shù),那么該參數(shù)聲明從字符串的尾部開(kāi)始算起的位置。也就是說(shuō),-1 指字符串中最后一個(gè)字符,-2 指倒數(shù)第二個(gè)字符,以此類(lèi)推。必需。
第二個(gè)參數(shù)是子串中的字符數(shù)。必須是數(shù)值。如果省略了該參數(shù),那么返回從 stringObject 的開(kāi)始位置到結(jié)尾的字串,可選。
var str="Hello world!";
var n=str.substr(2); // llo world!