字符串中常用的方法

0. 前言

在上一篇《數(shù)組中的常用方法)》中我總結(jié)了一些數(shù)組中的常用方法,字符串在開發(fā)中應(yīng)用也比較廣泛褐墅,所以置媳,我也把字符串的一些方法總結(jié)一下栓始。


說P赝辍书释!啥時候愛上我的.jpg

1. 簡介

字符串或串(String)是由數(shù)字、字母赊窥、下劃線組成的一串字符爆惧。

2. 字符串中常用的方法

一、charAt

charAt(index)
功能:獲取對應(yīng)下標(biāo)的字符
參數(shù):下標(biāo)
返回值:獲取到的字符,沒有對應(yīng)的下標(biāo)返回空的字符串

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);//輸出 什么都沒有锨能,因為下標(biāo)是5的是空格
console.log(typeof ret3);//輸出 string
console.log("*"+ret3+"*");//輸出 ** 以為下標(biāo)是29的不存在检激,所以是空的肴捉。

二、 charCodeAt

charCodeAt(index)
功能:獲取對應(yīng)下標(biāo)處字符的編碼(ASCII值)
參數(shù):下標(biāo)
返回值:獲取到的字符編碼(0~65535),沒有對應(yīng)的下標(biāo)返回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值轉(zhuǎn)成對應(yīng)的字符
參數(shù):ASCII值
返回值:對應(yīng)的字符
類名調(diào)用方法,稱為靜態(tài)方法(類方法)
對象調(diào)用方法傲隶,稱為實例方法(對象方法)
靜態(tài)方法優(yōu)點:
1.不用創(chuàng)建對象饺律,直接類名調(diào)用,結(jié)束內(nèi)存空間
2.效率高一些

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

四跺株、 字符串大小寫的轉(zhuǎn)換

toLowerCase

toLowerCase()
功能:全部轉(zhuǎn)成小寫
參數(shù):無
以返回值的形式得到結(jié)果复濒,原字符串不會改變

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()
功能:全部轉(zhuǎn)成大寫
參數(shù):無
以返回值的形式得到結(jié)果,原字符串不會改變

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()
字符串比較大小
規(guī)則:兩個字符串從下標(biāo)為0字符開始比較砸泛,如果誰的ASCII值大那么誰就大,如果相等繼續(xù)比較后面的字符蛆封,當(dāng)兩個字符不想等時唇礁,停止比較,此時誰的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()
功能:默認(rèn)從左側(cè)開始查找對應(yīng)第一次出現(xiàn)的字符串的下標(biāo)
參數(shù):元素值
返回值:如果找到了對應(yīng)的元素則返回該元素的下標(biāo)值,否則返回-1

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

lastIndexOf()
功能:從右側(cè)開始查找對應(yīng)第一次出現(xiàn)的字符串的下標(biāo)
參數(shù):元素值
返回值:如果找到了對應(yīng)的元素則返回該元素的下標(biāo)值簿寂,否則返回-1

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

九漾抬、 replace

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

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、從某個下標(biāo)開始提取烈钞,一直到提取到原字符串的末尾泊碑。

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

2、從參數(shù)1下標(biāo)開始提取毯欣,一直提取到原字符串參數(shù)2下標(biāo)之前馒过。

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

3、從某個下標(biāo)開始提取酗钞,一直到提取到原字符串的末尾腹忽。

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

4来累、從某個下標(biāo)開始提取,一直提取參數(shù)2個長度。

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

十一窘奏、 split

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

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"]

結(jié)束語

歲歲年年花相似,歲歲年年人不同着裹,程序員就是每天不同的敲代碼领猾,找bug,為我這每天辛苦的敲代碼的人點個贊骇扇,分享摔竿,打賞哦!I傩ⅰ继低!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市稍走,隨后出現(xiàn)的幾起案子袁翁,更是在濱河造成了極大的恐慌,老刑警劉巖钱磅,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件梦裂,死亡現(xiàn)場離奇詭異,居然都是意外死亡盖淡,警方通過查閱死者的電腦和手機(jī)年柠,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來褪迟,“玉大人冗恨,你說我怎么就攤上這事∥对撸” “怎么了掀抹?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵,是天一觀的道長心俗。 經(jīng)常有香客問我傲武,道長,這世上最難降的妖魔是什么城榛? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任揪利,我火速辦了婚禮,結(jié)果婚禮上狠持,老公的妹妹穿的比我還像新娘疟位。我一直安慰自己,他們只是感情好喘垂,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布甜刻。 她就那樣靜靜地躺著绍撞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪得院。 梳的紋絲不亂的頭發(fā)上傻铣,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機(jī)與錄音尿招,去河邊找鬼矾柜。 笑死,一個胖子當(dāng)著我的面吹牛就谜,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播里覆,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼丧荐,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了喧枷?” 一聲冷哼從身側(cè)響起虹统,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎隧甚,沒想到半個月后车荔,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡戚扳,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年忧便,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片帽借。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡珠增,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出砍艾,到底是詐尸還是另有隱情蒂教,我是刑警寧澤,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布脆荷,位于F島的核電站凝垛,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏蜓谋。R本人自食惡果不足惜梦皮,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望孤澎。 院中可真熱鬧届氢,春花似錦、人聲如沸覆旭。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至寂祥,卻和暖如春荐虐,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背丸凭。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工福扬, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人惜犀。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓铛碑,卻偏偏與公主長得像,于是被迫代替她去往敵國和親虽界。 傳聞我的和親對象是個殘疾皇子汽烦,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345

推薦閱讀更多精彩內(nèi)容