溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

js中操作字符串的方法有哪些

發(fā)布時(shí)間:2021-06-26 15:13:13 來(lái)源:億速云 閱讀:162 作者:小新 欄目:web開發(fā)

小編給大家分享一下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è)資訊頻道!

向AI問(wèn)一下細(xì)節(jié)

免責(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)容。

AI