最常見和最有用的字符串相關(guān)的方法詳解
轉(zhuǎn)換字符串
你可以轉(zhuǎn)換一個數(shù)字,布爾值,或一個字符串的對象:
var myNumber = 24; // 24 var myString = myNumber.toString(); // "24"
var myNumber = 24; // 24 var myString = String(myNumber); // "24"
將字符串分割成多個子字符串
為了區(qū)分一個字符串轉(zhuǎn)換為一個子字符串數(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"]
最后一行的第二個參數(shù)限制了數(shù)組參數(shù)所指定的項目的數(shù)量。
獲取一個字符串的長度
要找出多少個字符長的字符串的length屬性:
var myString = "You're quite a character."; var stringLength = myString.length; // 25
在字符串中找到一個子串
這樣做的方法有兩種。
使用indexOf():
var stringOne = "Johnny Waldo Harrison Waldo";
var wheresWaldo = stringOne.indexOf("Waldo"); // 7
indexOf()方法從字符串的開頭開始搜索的子串(通過)第一個參數(shù),并返回第一次出現(xiàn)子字符串的開始位置。
使用lastIndexOf() :
var stringOne = "Johnny Waldo Harrison Waldo";
var wheresWaldo = stringOne.lastIndexOf("Waldo"); // 22
lastIndexOf()方法是完全一樣的,只不過它返回傳遞的子字符串中最后一次出現(xiàn)的起始位置。
在這兩種方法中,如果沒有找到子字符串,則返回值-1,并允許一個可選的第二個參數(shù)表示您要開始搜索的字符在字符串中的位置
替換掉一個子串
要更換一個新的字符串的字符串的一部分或全部,你可以使用replace():
var slugger = "Josh Hamilton";
var betterSlugger = slugger.replace("h Hamilton", "e Bautista");
console.log(betterSlugger); // "Jose Bautista"
第一個參數(shù)是你要替換的子字符串,第二個參數(shù)是新的子串。這只會替換匹配的子字符串的第一個實例。
要更換匹配的子字符串的所有實例,使用正則表達式的全局標志:
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"
第二個參數(shù)可以包括特殊的替換模式,或可以是一個函數(shù)。
在給定的位置,找到相應(yīng)的字符
要查找的字符是在指定的位置,你可以使用charAt()方法:
var myString = "Birds of a Feather"; var whatsAtSeven = myString.charAt(7); // "f"
往往是在JavaScript的情況下,引用該字符串中的第一個位置為“0”,而不是“1”。
或者,您也可以使用charCodeAt() ,它給你,而不是字符本身的字符代碼:
var myString = "Birds of a Feather"; var whatsAtSeven = myString.charCodeAt(7); // "102" var whatsAtEleven = myString.charCodeAt(11); // "70"
請注意,大寫字母“F”的位(11)的字符代碼與小寫字母“f”的位(7)從字符碼不同。
連接多個字符串
在大多數(shù)情況下,當您連接字符串時,你會使用加法運算符(+)。但你也可以選擇使用CONCAT()方法:
var stringOne = "Knibb High football ";
var stringTwo = stringOne.concat("rules."); // "Knibb High football rules"
您還可以通過將多個字符串,將被一個個的追加起來(在它們出現(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)建一個新的字符串值:
使用slice()方法:
var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.slice(5, 10); // "fghij"
使用substring()方法:
var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substring(5, 10); // "fghij"
對于這兩個slice()和substring()方法的第一個參數(shù)是你想要的開始的子串,第二個參數(shù)(這是可選的)后的字符串中的字符結(jié)束的字串。因此,在上面的例子中,參數(shù)“5,10”,是指,字符5到9,以創(chuàng)建一個新的字符串。
使用SUBSTR()
var stringOne = "abcdefghijklmnopqrstuvwxyz"; var stringTwo = stringOne.substr(5, 10); // "fghijklmno"
SUBSTR() ,第一個參數(shù)代表開始新的字符串的字符,第二個參數(shù)是可選的。但這個時候,第二個參數(shù)表示的字符的總數(shù)應(yīng)包括的開始的字符“5”的位置。
一個字符串轉(zhuǎn)換為大寫或小寫
有四種方法做大小寫轉(zhuǎn)換。有兩個字符串轉(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"
模式匹配
在一個字符串匹配的模式,可以使用兩種方法,其基本的工作方式相同。
一個字符串match()方法被調(diào)用,并通過正則表達式:
var myString = "How much wood could a wood chuck chuck"; var myPattern = /.ood/; var myResult = myString.match(myPattern); // ["wood"] var patternLocation = myResult.index; // 9 var originalString = myResult.input // "How much wood could a wood chuck chuck"
exec()方法被調(diào)用的一個正則表達式對象,并通過字符串:
var myString = "How much wood could a wood chuck chuck"; var myPattern = /.huck/; var myResult = myPattern.exec(myString); // ["chuck"] var patternLocation = myResult.index; // 27 var originalString = myResult.input // "How much wood could a wood chuck chuck"
對于這兩種方法,只在第一個匹配發(fā)生被返回。如果沒有找到匹配,將返回空值。
也可以使用search()方法,它接受一個正則表達式作為唯一的參數(shù),并返回模式第一次出現(xiàn)的位置:
var myString = "Assume"; var patternLocation = myString.search(/ume/); // 3
如果沒有找到匹配,則該方法返回“-1”。
比較兩個字符串的排序順序
您可以比較兩個字符串,看看哪一個字母先靠前使用localeCompare,,有三個可能的返回值:
var myString = "chicken";
var myStringTwo = "egg";
var whichCameFirst = myString.localeCompare(myStringTwo); // -1 (except Chrome, which returns -2)
whichCameFirst = myString.localeCompare("chicken"); // 0
whichCameFirst = myString.localeCompare("apple"); // 1 (Chrome returns 2)
stringObject.localeCompare(target)//公式
如上圖所示,如果 stringObject 小于 target,則 localeCompare() 返回小于 0 的數(shù)。如果 stringObject 大于 target,則該方法返回大于 0 的數(shù)。如果兩個字符串相等,或根據(jù)本地排序規(guī)則沒有區(qū)別,該方法返回 0。
由于瀏覽器可以返回任何負數(shù)或正數(shù)之前和之后的結(jié)果最好使用 if ( result < 0 ) ,而不是if ( result === -1 ),后者將無法在Chrome瀏覽器中運行。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持腳本之家!
- Python使用中文正則表達式匹配指定中文字符串的方法示例
- 詳解Python3中字符串中的數(shù)字提取方法
- JavaScript正則表達式替換字符串中圖片地址(img src)的方法
- PHP字符串逆序排列實現(xiàn)方法小結(jié)【strrev函數(shù),二分法,循環(huán)法,遞歸法】
- java獲取文件擴展名的方法小結(jié)【正則與字符串截取】
- JS正則截取兩個字符串之間及字符串前后內(nèi)容的方法
- 用Shell判斷字符串包含關(guān)系的方法小結(jié)
- jQuery實現(xiàn)字符串全部替換的方法
- 將JSON字符串轉(zhuǎn)換成Map對象的方法
- java 字符串截取的三種方法(推薦)
- 利用JS判斷字符串是否含有數(shù)字與特殊字符的方法小結(jié)
相關(guān)文章
作為一名優(yōu)秀的接口調(diào)用工程師,對接口的返回信息進行校驗是必不可少的,本文整理的是一些常用的校驗方式,希望能夠?qū)Υ蠹矣兴鶐椭?/div> 2023-05-05
js中console在一行內(nèi)打印字符串和對象的方法
這篇文章主要介紹了js中console在一行內(nèi)打印字符串和對象的方法,本文給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-09-09
一文詳細分析前端請求中的“Unsupported?Media?Type”問題
在Web開發(fā)中,前后端交互頻繁遇到HTTP狀態(tài)碼415錯誤,這表明服務(wù)器無法處理因Content-Type不匹配的請求,常見于POST或PUT請求,必須確保請求頭中的Content-Type與服務(wù)器期望的一致,跨域請求中,需要的朋友可以參考下2024-10-10最新評論

