JS中常見的String方法

對於JS中的字符串(String)我們經常使用,今天總結了一下常見的String方法。

1. length

檢測字符串的長度

 let str = 'abcdef';
 console.log(str.length);

在這裏插入圖片描述

2. slice()

截取指定位置的字符串

參數1:開始截取的位置,下標

參數2: 選填,若不填,則截取到最後。若傳入要截止的下標,則截取從開始的下標到截止的下標中間的部分

若參數爲負值,則從該字符串的末尾部分數

返回值: 爲截取中的內容(前包後不包), 不會改變原字符串

 let str = 'abcdef';
 let str1 = str.slice(1, 3); 
 console.log(str);
 console.log(str1);
 let str2 = str.slice(1);
 console.log(str2);
 let str3 = str.slice(-3, -1);
 console.log(str3);

在這裏插入圖片描述

3. substr

參數1: 開始截取字符串的下標

參數2: length長度,要截取字符的長度

若參數爲負值,則從該字符串的末尾部分數

返回值: 爲截取中的內容, 不會改變原字符串

 let str = 'abcdef';
 let str1 = str.substr(1, 3);
 console.log(str);
 console.log(str1);
 let str2 = str.substr(1);
 console.log(str2);
 let str3 = str.substr(-3, 2);
 console.log(str3);

在這裏插入圖片描述

4. substring

參數1:要截取字符的開始下標

參數2:可選,要截止的下標,若不傳則會截取到末尾

返回值: 爲截取中的內容(前包後不包)跟slice一樣, 不會改變原字符串

注意:不能傳入負值,從字符串末尾截取

 let str = 'abcdef';
 let str1 = str.substring(2, 4);
 console.log(str);
 console.log(str1);
 let str2 = str.substring(2);
 console.log(str2)

在這裏插入圖片描述

5. split

將字符串按指定字符,把一個字符串分割成數組

參數1: 字符串中的字符,以這個字符爲界限分割成數組

參數2:可選,若不傳,則會將這個字符串按情況分割成數組,數組長度沒限制。傳入則限制數組的長度,
若分割成的數組大於指定的長度,則多餘的項會省略返回值:分割後的數組,不包括指定字符本身

注意:

  1. 如果指定的字符串爲空,則會截取字符串每個都分割開

  2. 可以使用正則代替指定的那個字符串

 let str = 'abcdbef';
 let str1 = str.split('b');
 console.log(str1);
 let str2 = str.split('b', 2);
 console.log(str2);
 let str3 = str.split('');
 console.log(str3);

在這裏插入圖片描述

6. indexOf()

檢測指定字符首次出現的位置下標

參數1: 指定的字符

參數2:可選,從那個位置開始下標

返回值:若存在返回當前字符的下標,否則返回-1

注意對大小寫敏感

 let str = 'abCcdecf';
 let str1 = str.indexOf('c');
 console.log(str1);
 let str2 = str.indexOf('g');
 console.log(str2);
 let str3 = str.indexOf('c', 3);
 console.log(str3);
 let str4 = str.indexOf('c');
 console.log(str4);

在這裏插入圖片描述

7. lastIndexOf()

檢測一個字符串中是否存在傳入的字符,從該字符串的末尾查詢
參數1:傳入的指定字符
參數2:可選 傳入指定的位置(下標),從該位置之前的字符查詢

let str = 'abdcdef';
console.log(str.lastIndexOf('d'));
console.log(str.lastIndexOf('d', 1));
console.log(str.lastIndexOf('d', 3)); // 這裏也就是從字符串(abdc)中查詢字符(d)是否存在 

在這裏插入圖片描述

8. replace()

將指定的字符替換成別的字符,只替換第一次出現的

參數1:要替換的指定字符

參數2:要替換成的字符

返回值:替換後的字符串

可以使用正則, 如果想替換成全部可以使用正則以及其中的g,若想忽略大小寫則用i

 let str = 'abcdbef';
 let str1 = str.replace('b', 'z');
 console.log(str1);
 let str2 = 'a1b2c3d4';
 let str3 = str2.replace(/\d/g, 'z');
 console.log(str3)

在這裏插入圖片描述

9. charAt()

根據下標,找到該下標對應的字符

參數:字符串中某個位置的數字,就是某字符在字符串的下標

返回值:根據下標返回下標對應的字符

如果指定的下標的數字大於該字符串的長度會返回空

 let str = 'abcdef';
 let str1 = str.charAt(2);
 console.log(str1);
 console.log(str)
 let str2 = str.charAt(7);
 console.log(str2);

在這裏插入圖片描述

10. toLowerCase()

toLowerCase 將字符串轉爲小寫

返回值:該字符串的小寫

 let str = 'ABcdef';
 let str1 = str.toLowerCase();
 console.log(str);
 console.log(str1);

在這裏插入圖片描述

11. toUpperCase()

將小寫字符串轉化爲大寫

 let str = 'abcdef';
 let str1 = str.toUpperCase();
 console.log(str);
 console.log(str1);

在這裏插入圖片描述
ES6 新增

12. for of 字符串遍歷

 for(let str of 'abcdef'){
    console.log(str);
 }

在這裏插入圖片描述

13. includes(), startsWith(), endsWith()

includes() 返回值布爾型 是否在該字符串中找到指定字符

startsWith() 返回值布爾型 在該字符串頭部是否存在該字符

endsWith() 返回值布爾型 在該字符串尾部是否存在該字符

參數2:可選 表示開始搜索的位置

假若參數爲n,endsWith()跟includes()和startsWith()有所不同,endsWith針對的是n前面的字符不包括n本身的字符

而那兩個則代碼從n到結尾的字符串,包括n本身

  let str = 'abcdef';
  console.log(str.includes('d'));
  console.log(str.includes('z'));
  console.log(str.startsWith('a'));
  console.log(str.startsWith('b'));
  console.log(str.endsWith('f'));
  console.log(str.endsWith('z'));
  console.log(str.includes('d', 2));
  console.log(str.startsWith('d', 3));
  console.log(str.endsWith('d', 3));
  console.log(str.endsWith('c', 3));

在這裏插入圖片描述

14. repeat()

將原字符串重複n次

如果是小數會被取整

 let str = 'abc';
 console.log(str);
 console.log(str.repeat(2));
 console.log(str.repeat(3.6));

在這裏插入圖片描述

15. padStart(), padEnd()

padStart() 頭部補全

padEnd() 尾部補全

字符串補全,如果長度不夠指定長度,補全

參數1:指定字符串長度

參數2:補全長度的字符

返回值,返回新的字符串

注意:

  1. 如果指定的長度小於或等於原字符串長度,則返回原字符串

  2. 如果指定的長度小於原字符串長度+要補充的字符的長度,會吧要補充的字符從尾部省略

 let str = 'ab';
 console.log(str);
 console.log(str.padStart(4, 'x'));
 console.log(str.padEnd(4, 'x'));
 let str1 = 'abcdef';
 console.log(str1.padEnd(5, 'x'));
 console.log(str1.padEnd(6, 'x'));
 console.log(str.padEnd(4, '1234'));
 console.log('12'.padStart(10, 'YYYY-MM-DD'));

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章