字符串中常用的方法

0. 前言

在上一篇《數組中的常用方法)》中我總結了一些數組中的常用方法,字符串在開發中應用也比較廣泛,所以,我也把字符串的一些方法總結一下。


說!!啥時候愛上我的.jpg

1. 簡介

字符串或串(String)是由數字、字母、下劃線組成的一串字符。

2. 字符串中常用的方法

一、charAt

charAt(index)
功能:獲取對應下標的字符
參數:下標
返回值:獲取到的字符,沒有對應的下標返回空的字符串

var str1 = "senge is a good man";
var ret1 = str1.charAt(3);
var ret2 = str1.charAt(5);
var ret3 = str1.charAt(29);
console.log(ret1);//輸出 g
console.log(ret2);//輸出 什么都沒有,因為下標是5的是空格
console.log(typeof ret3);//輸出 string
console.log("*"+ret3+"*");//輸出 ** 以為下標是29的不存在,所以是空的。

二、 charCodeAt

charCodeAt(index)
功能:獲取對應下標處字符的編碼(ASCII值)
參數:下標
返回值:獲取到的字符編碼(0~65535),沒有對應的下標返回NaN

var str2 = "senge森 is a good man";
var ret4 = str2.charCodeAt(3);
var ret5 = str2.charCodeAt(5);
var ret6 = str2.charCodeAt(29);
console.log(ret4);//輸出 103
console.log(ret5);//20975    Unicode(萬國碼)
console.log(ret6);//輸出 NaN

三、 String.fromCharCode

String.fromCharCode(ASCII碼)
功能:將ASCII值轉成對應的字符
參數:ASCII值
返回值:對應的字符
類名調用方法,稱為靜態方法(類方法)
對象調用方法,稱為實例方法(對象方法)
靜態方法優點:
1.不用創建對象,直接類名調用,結束內存空間
2.效率高一些

var ret7 = String.fromCharCode(97);
console.log(ret7);//輸出 a

四、 字符串大小寫的轉換

toLowerCase

toLowerCase()
功能:全部轉成小寫
參數:無
以返回值的形式得到結果,原字符串不會改變

var str3 = "senge is a Good mAn!";
var ret8 = str3.toLowerCase();
console.log(ret8);//輸出 senge is a good man!
console.log(str3);//輸出 senge is a Good mAn!
toUpperCase

toUpperCase()
功能:全部轉成大寫
參數:無
以返回值的形式得到結果,原字符串不會改變

var ret9 = str3.toUpperCase();
console.log(ret9);//輸出 SENGE IS A GOOD MAN!

五、 判斷是否相等

===== 運算符
一般js中判斷相不相等,都是用" == " 和 " === "
== 是值相等
=== 是值、類型相等

var str4 = 1;
var str5 = "1";
console.log(str4==str5);// true
console.log(str4===str5);// false

六、 localeCompare

localeCompare()
字符串比較大小
規則:兩個字符串從下標為0字符開始比較,如果誰的ASCII值大那么誰就大,如果相等繼續比較后面的字符,當兩個字符不想等時,停止比較,此時誰的ASCII值大誰就大。

var str6 = "senge is a good man"
var str7 = "senge is a nice"

返回值如果為1則前面的大于后面的。如果返回值為-1那么后面的大于前面的,如果返回值為0說明相等

var ret10 = str6.localeCompare(str7);
console.log(ret10);//輸出 -1
if (ret10<0) {
    console.log("str6<str7");//以為ret10 = -1 所以會輸出這行str6<str7
}else if(ret10>0){
    console.log("str6>str7");
}else{
    console.log("str6=str7");
}

七、 漢字字符串比較大小

var str8 = "劉玉森";
var str9 = "太帥";
console.log(str8>str9);//輸出 true

八、 查找字符串

indexOf

indexOf()
功能:默認從左側開始查找對應第一次出現的字符串的下標
參數:元素值
返回值:如果找到了對應的元素則返回該元素的下標值,否則返回-1

var str10 = "senge is a good man! senge is a nice man";
var ret11 = str10.indexOf("senge");
console.log(ret11);//輸出 0
lastIndexOf

lastIndexOf()
功能:從右側開始查找對應第一次出現的字符串的下標
參數:元素值
返回值:如果找到了對應的元素則返回該元素的下標值,否則返回-1

var ret12 = str10.lastIndexOf("senge");
console.log(ret12);//輸出 21

九、 replace

replace()
功能:從左側開始查找對應的字符串,找到之后把它替換。
返回值:替換之后的字符串
注意:不會更改原來的字符串

var str11 = "senge is a good man!"
var ret13 = str11.replace("good","handsome");
console.log(str11);//輸出 senge is a good man!
console.log(ret13);//輸出 senge is a handsome man!

十、 提取字符串

var str12 = "senge is a good man! senge is a good man";
substring

1、從某個下標開始提取,一直到提取到原字符串的末尾。

var ret14 = str12.substring(3);
console.log(ret14);//輸出 ge is a good man! senge is a good man

2、從參數1下標開始提取,一直提取到原字符串參數2下標之前。

var ret15 = str12.substring(3,18);
console.log(ret15);//輸出 ge is a good ma
substr

3、從某個下標開始提取,一直到提取到原字符串的末尾。

var ret16 = str12.substr(3);
console.log(ret16);//輸出 ge is a good man! senge is a good man

4、從某個下標開始提取,一直提取參數2個長度。

var ret17 = str12.substr(3,18);
console.log("*"+ret17+"*");//輸出 *ge is a good man! *

十一、 split

split()
功能:切割字符串。
返回值:被切割后的字符串被保存在數組中然后返回

var str13 = "senge is a good man senge is a good man";
var ret18 = str13.split(" ");
console.log(ret18);//輸出 ["senge", "is", "a", "good", "man", "senge", "is", "a", "good", "man"]

結束語

歲歲年年花相似,歲歲年年人不同,程序員就是每天不同的敲代碼,找bug,為我這每天辛苦的敲代碼的人點個贊,分享,打賞哦!!!

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容