国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

最常見和最有用的字符串相關(guān)的方法詳解

2019-11-19 17:43:10
字體:
供稿:網(wǎng)友

轉(zhuǎn)換字符串

你可以轉(zhuǎn)換一個(gè)數(shù)字,布爾值,或一個(gè)字符串的對(duì)象:

var myNumber = 24; // 24var myString = myNumber.toString(); // "24"
var myNumber = 24; // 24var myString = String(myNumber); // "24"

將字符串分割成多個(gè)子字符串

為了區(qū)分一個(gè)字符串轉(zhuǎn)換為一個(gè)子字符串?dāng)?shù)組,你可以使用的split()方法:

 var myString = "coming,apart,at,the,commas"; var substringArray = myString.split(","); // ["coming", "apart", "at", "the", "commas"] var arrayLimited = myString.split(",", 3); // ["coming", "apart", "at"]

最后一行的第二個(gè)參數(shù)限制了數(shù)組參數(shù)所指定的項(xiàng)目的數(shù)量。

獲取一個(gè)字符串的長度

要找出多少個(gè)字符長的字符串的length屬性:

 var myString = "You're quite a character."; var stringLength = myString.length; // 25

在字符串中找到一個(gè)子串

這樣做的方法有兩種。

使用indexOf():

 var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.indexOf("Waldo"); // 7

indexOf()方法從字符串的開頭開始搜索的子串(通過)第一個(gè)參數(shù),并返回第一次出現(xiàn)子字符串的開始位置。

使用lastIndexOf() :

 var stringOne = "Johnny Waldo Harrison Waldo"; var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22

lastIndexOf()方法是完全一樣的,只不過它返回傳遞的子字符串中最后一次出現(xiàn)的起始位置。

在這兩種方法中,如果沒有找到子字符串,則返回值-1,并允許一個(gè)可選的第二個(gè)參數(shù)表示您要開始搜索的字符在字符串中的位置

替換掉一個(gè)子串

要更換一個(gè)新的字符串的字符串的一部分或全部,你可以使用replace():

 var slugger = "Josh Hamilton"; var betterSlugger = slugger.replace("h Hamilton", "e Bautista"); console.log(betterSlugger); // "Jose Bautista"

第一個(gè)參數(shù)是你要替換的子字符串,第二個(gè)參數(shù)是新的子串。這只會(huì)替換匹配的子字符串的第一個(gè)實(shí)例。

要更換匹配的子字符串的所有實(shí)例,使用正則表達(dá)式的全局標(biāo)志:

 var myString = "She sells automotive shells on the automotive shore"; var newString = myString.replace(/automotive/g, "sea"); console.log(newString); // "She sells sea shells on the sea shore"

第二個(gè)參數(shù)可以包括特殊的替換模式,或可以是一個(gè)函數(shù)。

在給定的位置,找到相應(yīng)的字符

要查找的字符是在指定的位置,你可以使用charAt()方法:

var myString = "Birds of a Feather";var whatsAtSeven = myString.charAt(7); // "f"

往往是在JavaScript的情況下,引用該字符串中的第一個(gè)位置為“0”,而不是“1”。

或者,您也可以使用charCodeAt() ,它給你,而不是字符本身的字符代碼:

 var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"

請(qǐng)注意,大寫字母“F”的位(11)的字符代碼與小寫字母“f”的位(7)從字符碼不同。

連接多個(gè)字符串

在大多數(shù)情況下,當(dāng)您連接字符串時(shí),你會(huì)使用加法運(yùn)算符(+)。但你也可以選擇使用CONCAT()方法:

 var stringOne = "Knibb High football "; var stringTwo = stringOne.concat("rules."); // "Knibb High football rules"

您還可以通過將多個(gè)字符串,將被一個(gè)個(gè)的追加起來(在它們出現(xiàn)的順序):

var stringOne = "Knibb ";var stringTwo = "High ";var stringThree = "football ";var stringFour = "rules.";var finalString = stringOne.concat(stringTwo, stringThree, stringFour);console.log(finalString); // "Knibb high football rules."

提取字符串(組成新字符串)

有三種不同的方法來創(chuàng)建一個(gè)新的字符串值:

使用slice()方法:

 var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"

使用substring()方法:

var stringOne = "abcdefghijklmnopqrstuvwxyz";var stringTwo = stringOne.substring(5, 10); // "fghij"

對(duì)于這兩個(gè)slice()和substring()方法的第一個(gè)參數(shù)是你想要的開始的子串,第二個(gè)參數(shù)(這是可選的)后的字符串中的字符結(jié)束的字串。因此,在上面的例子中,參數(shù)“5,10”,是指,字符5到9,以創(chuàng)建一個(gè)新的字符串。

使用SUBSTR()

var stringOne = "abcdefghijklmnopqrstuvwxyz";var stringTwo = stringOne.substr(5, 10); // "fghijklmno"

SUBSTR() ,第一個(gè)參數(shù)代表開始新的字符串的字符,第二個(gè)參數(shù)是可選的。但這個(gè)時(shí)候,第二個(gè)參數(shù)表示的字符的總數(shù)應(yīng)包括的開始的字符“5”的位置。

一個(gè)字符串轉(zhuǎn)換為大寫或小寫

有四種方法做大小寫轉(zhuǎn)換。有兩個(gè)字符串轉(zhuǎn)換為全部大寫:

 var stringOne = "Speak up, I can't hear you."; var stringTwo = stringOne.toLocaleUpperCase(); // "SPEAK UP, I CAN'T HEAR YOU" var stringThree = stringOne.toUpperCase(); // "SPEAK UP, I CAN'T HEAR YOU"

將字符串轉(zhuǎn)換為小寫:

 var stringOne = "YOU DON'T HAVE TO YELL"; var stringTwo = stringOne.toLocaleLowerCase(); // "you don't have to yell" var stringThree = stringOne.toLowerCase(); // "you don't have to yell"

模式匹配

在一個(gè)字符串匹配的模式,可以使用兩種方法,其基本的工作方式相同。

一個(gè)字符串match()方法被調(diào)用,并通過正則表達(dá)式:

var myString = "How much wood could a wood chuck chuck";var myPattern = /.ood/;var myResult = myString.match(myPattern); // ["wood"]var patternLocation = myResult.index; // 9var originalString = myResult.input // "How much wood could a wood chuck chuck"

exec()方法被調(diào)用的一個(gè)正則表達(dá)式對(duì)象,并通過字符串:

var myString = "How much wood could a wood chuck chuck";var myPattern = /.huck/;var myResult = myPattern.exec(myString); // ["chuck"]var patternLocation = myResult.index; // 27var originalString = myResult.input // "How much wood could a wood chuck chuck"

對(duì)于這兩種方法,只在第一個(gè)匹配發(fā)生被返回。如果沒有找到匹配,將返回空值。

也可以使用search()方法,它接受一個(gè)正則表達(dá)式作為唯一的參數(shù),并返回模式第一次出現(xiàn)的位置:

 var myString = "Assume"; var patternLocation = myString.search(/ume/); // 3

如果沒有找到匹配,則該方法返回“-1”。

比較兩個(gè)字符串的排序順序

您可以比較兩個(gè)字符串,看看哪一個(gè)字母先靠前使用localeCompare,,有三個(gè)可能的返回值:

var myString = "chicken";var myStringTwo = "egg";var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (except Chrome, which returns -2)whichCameFirst = myString.localeCompare("chicken"); // 0whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome returns 2)stringObject.localeCompare(target)//公式

如上圖所示,如果 stringObject 小于 target,則 localeCompare() 返回小于 0 的數(shù)。如果 stringObject 大于 target,則該方法返回大于 0 的數(shù)。如果兩個(gè)字符串相等,或根據(jù)本地排序規(guī)則沒有區(qū)別,該方法返回 0。

由于瀏覽器可以返回任何負(fù)數(shù)或正數(shù)之前和之后的結(jié)果最好使用 if ( result < 0 ) ,而不是if ( result === -1 ),后者將無法在Chrome瀏覽器中運(yùn)行。

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持武林網(wǎng)!

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 咸阳市| 清苑县| 邹城市| 顺昌县| 平凉市| 保德县| 普兰县| 黑河市| 油尖旺区| 罗甸县| 吉水县| 巫溪县| 绩溪县| 瑞昌市| 乐亭县| 静宁县| 沈丘县| 谷城县| 桃园县| 察隅县| 积石山| 双峰县| 大同市| 加查县| 咸丰县| 安国市| 江津市| 安宁市| 达日县| 前郭尔| 建水县| 黎川县| 威海市| 邓州市| 永定县| 广元市| 儋州市| 吕梁市| 阜阳市| 江西省| 密山市|