js string 操作方法


字符方法

charAt(index) 用于返回指定位置的字符极阅,index從0開始計(jì)算

var stringValue = "hello world";
console.log(stringValue.charAt(1)); // e

charCodeAt(index)用于返回指定字符的ASCLL值(字符編碼值)

var stringValue = "hello world";
console.log(stringValue.charCodeAt(1)); // 101

[index] ECMAScript5中定義了另一個(gè)訪問個(gè)別字符的方法。在支持此方法的瀏覽器中爬早,可以使用方括號(hào)加數(shù)字索引來訪問字符串中的特定字符已卷。(IE8、Firefox、Chrom、Opera支持)

var stringValue = "hello world";
console.log(stringValue[1]); // e

字符串操作方法

concat(element1,element2...elementx) 用于拼接兩個(gè)或多個(gè)字符串

var stringValue = "hello ";
var result = stringValue.concat('world');
console.log(result) //"hello world";
console.log(stringValue) //"hello";
var stringValue = "hello ";
var result = stringValue.concat('world','!');
console.log(result) //"hello world!";
console.log(stringValue) //"hello";

三個(gè)基于子字符串創(chuàng)建新字符串的方法

slice(start,end)用于截取start,end指定區(qū)間內(nèi)的字符串并返回

  1. 此方法不會(huì)操作原字符串對(duì)象數(shù)據(jù)睛挚,而是創(chuàng)建字符串副本保存截取后的字符串?dāng)?shù)據(jù)
  2. 如果end未指定,則表示直接從start直到數(shù)組末尾澈灼,
  3. 如果start或end為負(fù)數(shù),將傳入的負(fù)值與字符串長度相加
var stringValue = "hello world";
console.log(stringValue.slice(3)); //"lo world"
console.log(stringValue.slice(3,7)); // "lo w"
console.log(stringValue.slice(-3));  // "rld"
console.log(stringValue.slice(3,-4));  // "lo w"

substr(start,length)用于字符串截取,方法接收兩個(gè)參數(shù)

  1. 此方法不會(huì)操作原字符串對(duì)象數(shù)據(jù)叁熔,而是創(chuàng)建字符串副本保存截取后的字符串?dāng)?shù)據(jù)
  2. 第一個(gè)參數(shù)start,表示從start索引位置開始截取委乌,索引從0開始計(jì)算,如果此參數(shù)值是負(fù)數(shù)荣回,則會(huì)從字符串結(jié)尾開始計(jì)算遭贸,比如-1表示最后一個(gè)字符,-2表示倒數(shù)第二個(gè)字符心软,以此類推(也可以將傳入的負(fù)值與字符串長度相加)壕吹。
  3. 第二個(gè)參數(shù)length,表示截取的字符串長度,此參數(shù)為可選删铃,如不指定此參數(shù)耳贬,則默認(rèn)會(huì)一直截取到字符串結(jié)尾。如參數(shù)為負(fù)數(shù)猎唁,則將參數(shù)轉(zhuǎn)換為0咒劲。
var stringValue = "hello world";
console.log(stringValue.substr(3)); //"lo world"
console.log(stringValue.substr(3,7)); // "lo worl"
console.log(stringValue.substr(-3)); // "rld"
console.log(stringValue.substr(3,-4)); // ""

substring(start,end)用于截取start與end索引區(qū)間內(nèi)的字符串,區(qū)間范圍為[start,end],前閉后開

  1. 注意:參數(shù)start和end必須為非負(fù)整數(shù),
  2. 如start為負(fù)數(shù)诫隅,則默認(rèn)會(huì)將start賦值為0腐魂,
  3. 如end為負(fù)數(shù),則默認(rèn)會(huì)將end賦值為0逐纬,且截取區(qū)間改為[0,start),
  4. 如果start大于end蛔屹,那么會(huì)首先交換兩個(gè)參數(shù)值的位置,即區(qū)間改為[end,start)
var stringValue = "hello world";
console.log(stringValue.substring(3)); //"lo world"
console.log(stringValue.substring(3,7)); // "lo w"
console.log(stringValue.substring(-3)); // "rld"
console.log(stringValue.substring(3,-4)); // "hel"

字符串位置方法

indexOf(searchvalue,fromindex)用于返回指定字符在字符串中第一次出現(xiàn)的索引豁生,從第一個(gè)字符開始查找兔毒,找到立即返回。如果沒有找到該字符串沛硅,則返回-1
searchvalue 必需眼刃。規(guī)定需檢索的字符串值。
fromindex可選的整數(shù)參數(shù)摇肌。規(guī)定在字符串中開始檢索的位置擂红。它的合法取值是 0 到 stringObject.length - 1。如省略該參數(shù)围小,則將從字符串的最后一個(gè)字符處開始檢索昵骤。

var stringValue = "hello world";
console.log(stringValue.indexOf('O')); //4
console.log(stringValue.indexOf('O',6)); //7

lastIndexOf(searchvalue,fromindex) 方法可返回一個(gè)指定的字符串值最后出現(xiàn)的位置肯适,在一個(gè)字符串中的指定位置從后向前搜索变秦。
searchvalue 必需。規(guī)定需檢索的字符串值框舔。
fromindex可選的整數(shù)參數(shù)蹦玫。規(guī)定在字符串中開始檢索的位置赎婚。它的合法取值是 0 到 stringObject.length - 1。如省略該參數(shù)樱溉,則將從字符串的最后一個(gè)字符處開始檢索挣输。

var stringValue = "hello world";
console.log(stringValue.lastIndexOf('O')); //7
console.log(stringValue.indexOf('O',6)); //4

trim()方法

trim()方法創(chuàng)建一個(gè)字符串的副本福贞,刪除前置及后綴的所有空格撩嚼,然后返回結(jié)果。
(支持這個(gè)方法的瀏覽器有IE9+挖帘、Firefox3.5+完丽、Safari5+、Opera10.5+ 和Chrome)

var stringValue = "   hello world   ";
var trimmedStringValue = stringValue.trim();
console.log(stringValue); //"   hello world   "
console.log(trimmedStringValue); //"hello world"

字符串大小寫轉(zhuǎn)換方法

toLowerCase()把字符串轉(zhuǎn)換成小寫

var stringValue = "HELLO WORLD";
console.log(stringValue.toLowerCase())拇舀; //hello world

toUpperCase()把字符串轉(zhuǎn)換成大寫

var stringValue = "hello world";
console.log(stringValue.toUpperCase())逻族; //HELLO WORLD

toLocalLowerCase() 把字符串轉(zhuǎn)換成小寫,針對(duì)特定地區(qū)的實(shí)現(xiàn)

var stringValue = "HELLO WORLD";
console.log(stringValue.toLocalLowerCase()); //hello world

toLocalUpperCase() 把字符串轉(zhuǎn)換成大寫,針對(duì)特定地區(qū)的實(shí)現(xiàn)

var stringValue = "HELLO WORLD";
console.log(stringValue.toLocalUpperCase())你稚; //hello world

字符串的模式匹配方法

match()用于檢索與指定正則匹配的子串瓷耙,如果開啟了全局檢索模式,且有多個(gè)符合條件的子串刁赖,那么返回的是一個(gè)數(shù)組搁痛。

var text = "cat,bat,sat,fat";
var pattern = /.at/;
var matches = text.match(pattern);
console.log(matches.index); //0
console.log(matches[0]); //"cat"
console.log(pattern.lastIndex);//0

search()用于返回指定子串或符合指定正則表達(dá)式的子串在原字符串中第一次出現(xiàn)的索引,如果沒有找到,則返回-1

var text = "cat,bat,sat,fat";
var pos = text.search(/at/);
console.log(pos); //1

replace()用于字符串替換操作宇弛,接收兩個(gè)參數(shù)鸡典。

  1. 第一個(gè)參數(shù):表示待替換的字符串,或者是替換的正則表達(dá)式
  2. 第二個(gè)參數(shù):替換文本枪芒,也可以是一個(gè)function的返回值
  3. 注意此方法不會(huì)改變?cè)址畬?duì)象彻况,而是返回新字符串對(duì)象
var text = "cat,bat,sat,fat";
var result = text.replace("at","ond");
console.log(result); //"cond,bond,sond,fond"

result = text.replace(/at/g,"ond");
console.log(result); //"cond,bond,sond,fond"

split() 以指定的分割字符或正則表達(dá)式的匹配字符來分割原字符串,返回結(jié)果以數(shù)組形式表示舅踪。此方法還可以接收第二個(gè)參數(shù)纽甘,第二個(gè)參數(shù)可以限制最終返回的數(shù)組元素最大個(gè)數(shù)。

var colorText = "red,blue,green,yellow";
var color1 = colorText.split(",");//["red","blue","green","yellow"]
var color2 = colorText.split(",",2);//["red","blue"]
var color3 = colorText.split(/^\,]+/); //["","","",""]

localeCompare() 方法

localeCompare()比較兩個(gè)字符串抽碌,返回下列值中的一個(gè)

  1. 如果字符串在字母表中應(yīng)該排在字符串參數(shù)之前悍赢,則返回一個(gè)負(fù)數(shù)(大多數(shù)情況下是-1,具體的值要視實(shí)現(xiàn)而定);
  2. 如果字符串等于字符串參數(shù)货徙,則返回
  3. 如果字符串在字母表中應(yīng)該排在字符串參數(shù)之后左权,則返回一個(gè)正數(shù)(大多數(shù)情況下是1,具體的值要視實(shí)現(xiàn)而);
var stringValue = "yellow";
console.log(stringValue.localeCompare("brick")); //1
console.log(stringValue.localeCompare("yellow")); //0
console.log(stringValue.localeCompare("zoo")); //-1

fromCharCode() 方法

fromCharCode()接收一個(gè)或多個(gè)字符編碼痴颊,然后將他們轉(zhuǎn)換成一個(gè)字符串,該方法與實(shí)例方法charCodeAt()執(zhí)行的是相反的操作赏迟。

console.log(String.fromCharCode(104,101,108,108,111)); //"hello"
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市蠢棱,隨后出現(xiàn)的幾起案子锌杀,更是在濱河造成了極大的恐慌甩栈,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,914評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件糕再,死亡現(xiàn)場(chǎng)離奇詭異谤职,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)亿鲜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,935評(píng)論 2 383
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來冤吨,“玉大人蒿柳,你說我怎么就攤上這事′鲶。” “怎么了垒探?”我有些...
    開封第一講書人閱讀 156,531評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長怠李。 經(jīng)常有香客問我圾叼,道長,這世上最難降的妖魔是什么捺癞? 我笑而不...
    開封第一講書人閱讀 56,309評(píng)論 1 282
  • 正文 為了忘掉前任夷蚊,我火速辦了婚禮,結(jié)果婚禮上髓介,老公的妹妹穿的比我還像新娘惕鼓。我一直安慰自己借浊,他們只是感情好碎捺,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,381評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著栓拜,像睡著了一般一膨。 火紅的嫁衣襯著肌膚如雪呀邢。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,730評(píng)論 1 289
  • 那天豹绪,我揣著相機(jī)與錄音价淌,去河邊找鬼。 笑死森篷,一個(gè)胖子當(dāng)著我的面吹牛输钩,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播仲智,決...
    沈念sama閱讀 38,882評(píng)論 3 404
  • 文/蒼蘭香墨 我猛地睜開眼买乃,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了钓辆?” 一聲冷哼從身側(cè)響起剪验,我...
    開封第一講書人閱讀 37,643評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤肴焊,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后功戚,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體娶眷,經(jīng)...
    沈念sama閱讀 44,095評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,448評(píng)論 2 325
  • 正文 我和宋清朗相戀三年啸臀,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了届宠。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,566評(píng)論 1 339
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡乘粒,死狀恐怖豌注,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情灯萍,我是刑警寧澤轧铁,帶...
    沈念sama閱讀 34,253評(píng)論 4 328
  • 正文 年R本政府宣布,位于F島的核電站旦棉,受9級(jí)特大地震影響齿风,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜绑洛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,829評(píng)論 3 312
  • 文/蒙蒙 一救斑、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧真屯,春花似錦系谐、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,715評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至晾匠,卻和暖如春茶袒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凉馆。 一陣腳步聲響...
    開封第一講書人閱讀 31,945評(píng)論 1 264
  • 我被黑心中介騙來泰國打工薪寓, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人澜共。 一個(gè)月前我還...
    沈念sama閱讀 46,248評(píng)論 2 360
  • 正文 我出身青樓向叉,卻偏偏與公主長得像,于是被迫代替她去往敵國和親嗦董。 傳聞我的和親對(duì)象是個(gè)殘疾皇子母谎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,440評(píng)論 2 348

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

  • 一、訪問方法 string.length string屬性 str.length為string的屬性京革,返回?cái)?shù)字奇唤,即...
    窗的里窗的外閱讀 792評(píng)論 1 1
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理幸斥,服務(wù)發(fā)現(xiàn),斷路器咬扇,智...
    卡卡羅2017閱讀 134,626評(píng)論 18 139
  • 一甲葬、Java 簡介 Java是由Sun Microsystems公司于1995年5月推出的Java面向?qū)ο蟪绦蛟O(shè)計(jì)...
    子非魚_t_閱讀 4,160評(píng)論 1 44
  • 前言 最先接觸編程的知識(shí)是在大學(xué)里面经窖,大學(xué)里面學(xué)了一些基礎(chǔ)的知識(shí),c語言梭灿,java語言钠至,單片機(jī)的匯編語言等;大學(xué)畢...
    oceanfive閱讀 3,048評(píng)論 0 7
  • 今天胎源,回北京,心情不好屿脐,為啥不好涕蚤,因?yàn)橛忠?dú)立面對(duì)生活了,沒有靠山了的诵,哈哈哈哈万栅。會(huì)有一些孤單一些郁悶,畢竟內(nèi)心還...
    嘰里咕嚕的綿羊閱讀 500評(píng)論 0 0