<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          【JavaScript 教程】第五章 字符串02— 字符串類型

          共 4933字,需瀏覽 10分鐘

           ·

          2021-12-10 01:11

          英文 | https://www.javascripttutorial.net/

          譯文 | 楊小愛


          在上節(jié),我們學(xué)習(xí)了JavaScript字符串的相關(guān)知識(shí),錯(cuò)過小伙伴可以點(diǎn)擊文章《【JavaScript 教程】第五章 字符串01— JavaScript 字符串》進(jìn)行學(xué)習(xí)。

          那么,在今天的教程中,我們將一起來學(xué)習(xí)JavaScript String類型以及如何有效地操作字符串。

          JavaScript String 類型簡(jiǎn)介

          String 類型是字符串原始類型的對(duì)象包裝器,可以使用 String 構(gòu)造函數(shù)創(chuàng)建,如下所示:

          let str = new String('JavaScript String Type');

          String 類型有一個(gè)名為 length 的屬性,用于指定字符串中的字符數(shù)。

          console.log(str.length); // 22

          在此示例中,length屬性的值為 22,這也是 string中“JavaScript String Type”的字符數(shù)。

          要獲取原始字符串值,請(qǐng)使用字符串對(duì)象的以下方法之一:valueOf()、toString() 和 toLocaleString()。

          console.log(str.valueOf());console.log(str.toString());console.log(str.toLocaleString());

          要訪問字符串中的單個(gè)字符,請(qǐng)使用帶有數(shù)字索引的方括號(hào) []表示法。如本例所示,第一個(gè)字符的索引為零:

          console.log(str[0]); // J

          方括號(hào)[]表示法是從 ES5 開始引入的。在 ES5 之前,您使用 charAt() 方法,該方法更加冗長(zhǎng):

          console.log(str.charAt(0)); // J

          當(dāng)您對(duì)原始字符串變量或文字字符串調(diào)用方法時(shí),它會(huì)轉(zhuǎn)換為該String類型的實(shí)例。例如:

          'literal string'.toUpperCase();

          此功能在 JavaScript 中稱為原始包裝器類型。

          字符串操作

          String 類型提供了許多有用的方法來有效地操作字符串。我們將在下一節(jié)中檢查它們中的每一個(gè)。

          1) 連接字符串

          要連接兩個(gè)或多個(gè)字符串,請(qǐng)使用 concat() 方法,如下所示:

          let firstName = 'John';let fullName = firstName.concat(' ','Doe');console.log(fullName); // "John Doe"console.log(firstName); // "John"

          concat() 方法將一個(gè)或多個(gè)字符串連接到另一個(gè)字符串并返回結(jié)果字符串。請(qǐng)注意, concat() 方法不會(huì)修改原始字符串。

          除了 concat() 方法,JavaScript 還使用加法運(yùn)算符 (+) 來連接字符串。在實(shí)踐中,加法運(yùn)算符比 concat() 方法使用得更多。

          let firstName = 'John';let fullName = firstName + ' ' + 'Doe';console.log(fullName); // "John Doe"

          2) 提取子符串

          要從字符串中提取子字符串,請(qǐng)使用以下substr()方法:

          substr(startIndex,[length]);

          substr()方法接受兩個(gè)參數(shù)。

          第一個(gè)參數(shù)startIndex是提取字符的位置,而第二個(gè)參數(shù)length指定要提取的字符數(shù)。

          let str = "JavaScript String";
          console.log(str.substr(0, 10)); // "JavaScript"console.log(str.substr(11,6)); // "String"

          如果省略該length 參數(shù),則substr()方法會(huì)將字符提取到字符串的末尾。

          有時(shí),您希望使用開始和結(jié)束索引從字符串中提取子字符串。在這種情況下,您可以使用substring()方法:

          substring(startIndex,endIndex)

          請(qǐng)參閱以下示例:

          let str = "JavaScript String";console.log(str.substring(4, 10)); // "Script"

          3) 定位子符串

          要在字符串中定位子字符串,請(qǐng)使用以下indexOf()方法:

          string.indexOf(substring,[fromIndex]);

          indexOf()方法接受兩個(gè)參數(shù):要定位的子字符串和fromIndex 方法開始在字符串中向前搜索的位置。

          indexOf()返回字符串中的子字符串的第一次出現(xiàn)的索引。如果未找到子字符串,則該indexOf()方法返回 -1。

          let str = "This is a string";console.log(str.indexOf("is")); // 2

          以下示例使用fromIndex參數(shù):

          console.log(str.indexOf('is', 3)); //5

          要查找字符串中子字符串最后一次出現(xiàn)的位置,請(qǐng)使用lastIndexOf()方法。

          string.lastIndexOf(substring,[fromIndex])

          與indexOf()方法不同,方法lastindexOf()從fromIndex參數(shù)向后搜索。

          console.log(str.lastIndexOf('is')); // 5

          如果在字符串中找不到子字符串,lastIndexOf()方法也會(huì)返回-1,如下例所示:

          console.log(str.lastIndexOf('are')); // -1

          4) 去除空白字符串

          要?jiǎng)h除字符串的所有前導(dǎo)和尾隨空白字符,請(qǐng)使用該trim()方法。

          let rawString = ' Hi  ';let strippedString = rawString.trim();console.log(strippedString); // "Hi"

          請(qǐng)注意,trim() 方法創(chuàng)建了原始字符串的副本,并刪除了空白字符,它不會(huì)更改原始字符串。

          請(qǐng)注意,trim() 方法僅從 ES5 開始可用。

          ES6 引入了兩種從字符串中刪除空白字符的新方法:

          • trimStart() 返回一個(gè)字符串,其中從字符串的開頭去除了空白字符。

          • trimEnd() 返回一個(gè)字符串,其中從字符串的末尾去除了空白字符。

          5) 變更案例

          要更改字符串的大小寫,您可以使用 toLowerCase() 和 toUpperCase() 方法:

          let greeting = 'Hello';console.log(greeting.toLowerCase()); // 'hello'console.log(greeting.toUpperCase()); // 'HELLO';

          在某些語言中,將字符串轉(zhuǎn)換為小寫和大寫的規(guī)則非常具體。因此,使用 toLocaleLowerCase() 和 toLocaleUpperCase() 方法更安全,尤其是當(dāng)您不知道代碼將處理哪種語言時(shí)。

          6) 比較字符串

          要比較兩個(gè)字符串,請(qǐng)使用 localeCompare() 方法:

          first.localeCompare(second);

          localeCompare() 返回三個(gè)值之一:-1、0 和 1。

          • 如果第一個(gè)字符串按字母順序排在第二個(gè)字符串之前,則該方法返回 -1。

          • 如果第一個(gè)字符串按字母順序排在第二個(gè)字符串之后,則該方法返回 1。

          • 如果兩個(gè)字符串相等,則該方法返回 0。

          例如:

          console.log('A'.localeCompare('B')); // -1console.log('B'.localeCompare('B')); // 0console.log('C'.localeCompare('B')); // 1

          7) 匹配模式

          match() 方法允許您將字符串與指定的正則表達(dá)式匹配并獲得結(jié)果數(shù)組。

          如果 match() 方法找不到任何匹配項(xiàng),則返回 null。否則,它返回一個(gè)包含整個(gè)匹配項(xiàng)和任何括號(hào)捕獲匹配結(jié)果的數(shù)組。

          如果未設(shè)置全局標(biāo)志 (g),則數(shù)組的元素零包含整個(gè)匹配項(xiàng)。下面是一個(gè)例子:

          let expr = "1 + 2 = 3";let matches = expr.match(/\d+/);console.log(matches[0]); // "1"

          在這個(gè)例子中,模式匹配 expr 字符串中的任何數(shù)字。

          如果設(shè)置了全局標(biāo)志 (g),則結(jié)果數(shù)組的元素包含所有匹配項(xiàng),如下所示:

          matches = expr.match(/\d+/g);matches.forEach(function(m) {    console.log(m);});// "1"// "2"// "3"

          在此示例中,matches 數(shù)組包含 expr 字符串中的所有匹配項(xiàng),包括 1、2 和 3。

          如果您只需要找出字符串是否與正則表達(dá)式匹配,則可以使用 search() 方法。

          與 match() 方法類似,search() 方法接受一個(gè)正則表達(dá)式并返回找到第一個(gè)匹配項(xiàng)的字符串的位置。如果未找到匹配項(xiàng),則返回 -1。

          let str = "This is a test of search()";let pos = str.search(/is/);console.log(pos); // 2

          8) 替換子符串

          要替換字符串中的子字符串,請(qǐng)使用replace()方法。

          string.replace(regularExpression, replaceText)

          replace() 方法的第一個(gè)參數(shù)可以是正則表達(dá)式或字符串。如果是正則表達(dá)式,replace() 方法將查找匹配項(xiàng)并將其替換為第二個(gè)參數(shù) (replaceText)。如果是字符串,replace() 方法將執(zhí)行精確搜索并進(jìn)行替換。

          replace() 方法在進(jìn)行替換后返回原始字符串的副本。

          以下示例說明了如何使用正則表達(dá)式將 the替換為 a:

          let str = "the baby kicks the ball";// replace "the" with "a"let newStr = str.replace(/the/g, "a");console.log(newStr); // "a baby kicks a ball"console.log(str); // "the baby kicks the ball"

          以下示例顯示了如何通過將第一個(gè)參數(shù)用作文字字符串來替換kickswith holds。

          下面的示例展示了如何通過將第一個(gè)參數(shù)用作文字字符串來將 kicks 替換為 Hold。

          newStr = str.replace('kicks', 'holds');console.log(newStr); // "the baby holds the ball"

          總結(jié)

          在今天的教程中,我們學(xué)習(xí)了 JavaScript 字符串類型以及如何有效地操作字符串。

          如果您覺得今天內(nèi)容,對(duì)您有幫助,請(qǐng)記得分享給您對(duì)編程感興趣的朋友,也許對(duì)他也有所幫助。

          如果您錯(cuò)過了之前的內(nèi)容,請(qǐng)點(diǎn)擊下文進(jìn)行閱讀。

          【JavaScript 教程】第五章 字符串01— JavaScript 字符串

          【JavaScript 教程】第四章 程序流程08— JavaScript continue 語句

          【JavaScript 教程】第四章 程序流程07— JavaScript break 語句

          【JavaScript 教程】第四章 程序流程06— JavaScript for 循環(huán)




          學(xué)習(xí)更多技能

          請(qǐng)點(diǎn)擊下方公眾號(hào)

          瀏覽 64
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  97成人午夜福利 | 欧美肉丝袜videos办公室 | 在线第一页 | 四虎精品永久在线无码 | 国产高清一区 |