您好,登錄后才能下訂單哦!
小編給大家分享一下js中操作字符串的方法有哪些,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
var a = '世界上最遠(yuǎn)的距離不是天涯海角';
一、通過(guò)字符獲取位置或通過(guò)位置獲取字符:
//指定位置返回字符 console.log(str.charAt(1)); console.log(str[1]); //指定位置返回字符編碼 console.log(str.charCodeAt(1)); //返回字符串位置 console.log(str.indexOf("o"));//不存在返回-1 console.log(str.lastIndexOf("o"));
在瀏覽器中執(zhí)行結(jié)果如下:
假如現(xiàn)在有個(gè)變量:
var a = '世界上最遠(yuǎn)的距離不是天涯海角';
var b = '最遠(yuǎn)的距離';
現(xiàn)在想動(dòng)態(tài)獲取到變量b之前的字符串,和變量之后的字符串,則可以這樣
1.利用slice獲取到之前的字符串;
2.獲取到變量b的長(zhǎng)度,在b初始位置后加上b的長(zhǎng)度,及從b的尾部截取a的長(zhǎng)度(當(dāng)然a當(dāng)長(zhǎng)度可以省略!);
二、拼接字符串:
一般有兩種:
a.直接用“+”;
b.concat函數(shù)
三、切割方法
console.log(str.slice(3,7));//開始、結(jié)束(有開始、有結(jié)束) console.log(str.substring(3,7));//開始、結(jié)束(有開始、有結(jié)束) console.log(str.substr(3,7));//開始、長(zhǎng)度(有開始、無(wú)結(jié)束、有長(zhǎng)度) console.log(str.slice(-3,-2));//第一個(gè)負(fù)值與長(zhǎng)度相加,第二個(gè)負(fù)值與長(zhǎng)度相加 console.log(str.substring(3,-1));//第一個(gè)負(fù)值轉(zhuǎn)換為0,第二個(gè)負(fù)值轉(zhuǎn)換為0,如果開始大于結(jié)束,則對(duì)調(diào) console.log(str.substr(-3,-1));//第一個(gè)負(fù)值與長(zhǎng)度相加,第二個(gè)負(fù)值轉(zhuǎn)換為0
下面看個(gè)例子:
var type可為dir/file
if (type !== 'dir' && name.indexOf('.') !== -1) {//file basename=name.substr(0,name.lastIndexOf('.')); extension=name.substr(name.lastIndexOf('.')); } else {//dir basename=name; extension=false; } //中文
四、去掉前后空格
var strValue = " hello world! "; var trimedStrValue = strValue.trim(); console.log(strValue); console.log(trimedStrValue);
五、大小寫轉(zhuǎn)換方法
var strLowUp = "HELLO world!"; console.log(str.toLowerCase()); console.log(str.toUpperCase()); console.log(strLowUp);
六、與模式有關(guān)的方法,調(diào)用者為字符串,參數(shù)為模式(正則對(duì)象或正則表達(dá)式或字符串)
1、匹配方法,本質(zhì)上與調(diào)用RegExp的exec()方法相同(調(diào)用者為正則表達(dá)式或正則對(duì)象,參數(shù)為字符串)
//返回?cái)?shù)組對(duì)象,第一項(xiàng)為匹配到的字符串,其它項(xiàng)為捕獲組匹配到的字符串
//返回對(duì)象同時(shí)具有index和input屬性,index為匹配到字符串的索引,input為進(jìn)行匹配的字符串str
2、查詢/搜索方法
//返回值為匹配字符的索引,如未查詢到則返回-1
search() 方法用于檢索字符串中指定的子字符串,或檢索與正則表達(dá)式相匹配的子字符串。
3、替換方法,兩個(gè)參數(shù),用參數(shù)二替換參數(shù)一,參數(shù)一為字符串或正則表達(dá)式,參數(shù)二為字符串或函數(shù)
a. //正則
b. 字符串
c. 函數(shù)
//如果第二個(gè)參數(shù)是函數(shù) //函數(shù)接收的參數(shù)為:匹配到的子字符串、 第一個(gè)捕獲組匹配到的子字符串、 第二個(gè)捕獲組匹配到的子字符串...、模式匹配項(xiàng)的索引、原始字符串 var repStr = str.replace(/at/g,function(match,index,input){ console.log(match);//at console.log(index);// console.log(input);//cat,bat,sat,fat return "an"; }); console.log(repStr);//can,ban,san,fan
4、分割方法,將字符串按照指定的分隔符分割為多個(gè)子字符串
//返回值為存放多個(gè)子字符串的數(shù)組 var str = "red,blue,green,yellow"; var strArray = str.split(","); var strArray = str.split(/[^\,]+/);//匹配所有不是逗號(hào)字符作為分隔符 console.log(strArray);//["red", "blue", "green", "yellow"] //第二個(gè)參數(shù)用于控制數(shù)組的長(zhǎng)度 var strArray = str.split(",",2); console.log(strArray);//["red", "blue", "green", "yellow"]
七、比較方法,返回值為1(>0)、0、-1(<0)
var strValue = "yellow"; console.log(strValue.localeCompare("brick"));//>0 console.log(strValue.localeCompare("yellow"));//0 console.log(strValue.localeCompare("zoo"));//<0
以上是“js中操作字符串的方法有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。