String

1.字符方法:

str.charAt()

  • 从一个字符串中返回指定index的字符
1
2
3
const mystr = "hallo, wesley"
console.log(mystr.charAt(8))
//e

ste.charCodeAt()

  • 功能用法与 charAt 相同,唯一不同的是,charCodeAt 返回的是字符编码而不是字符
1
2
3
const mystr = "hallo, wesley"
console.log(mystr.charCodeAt(8))
//101

2.字符串操作方法:

str.concat()

  • 连接多个字符串为一个新的字符串
  • 返回新得字符串,不改变原字符串
1
2
3
4
const mystr1 = "Wesley"
const mystr2 = " love"
const mystr3 = " Deborah"
console.log(mystr1.concat(mystr2,mystr3)) //Wesley love Deborah

str.slice()

  • 提取某个字符串的一部分为一个新的字符串
  • 返回新的字符串,不改变原字符串
  • slice() 提取的新字符串包括beginIndex但不包括 endIndex
  • str.slice(1, 4) 提取第二个字符到第四个字符(被提取字符的索引值(index)依次为 1、2,和 3)
  • str.slice(2, -1) 提取第三个字符到倒数第一个字符
1
2
3
const mystr = "mynameiswesley"
console.log(mystr.slice(2)) //nameiswesley
console.log(mystr.slice(2,6)) //name

str.substr()

  • 返回一个字符串中从指定位置开始到指定字符数的字符
  • 第二个参数(length)可选,表示指定要截取字符串的长度
  • 返回新得字符串,不改变原字符串
1
2
3
const mystr = "mynameiswesley"
console.log(mystr.substr(2)) //nameiswesley
console.log(mystr.substr(2,6)) //nameis

str.substring()

  • 返回一个字符串在开始索引到结束索引之间的一个子集, 或从开始索引直到字符串的末尾的一个子集
  • 返回新的字符串
  • 如果 indexA > indexB,则 substring 的执行效果就像是两个参数调换一般。比如:str.substring(0, 1) == str.substring(1, 0)
1
2
3
4
const mystr = "mynameiswesley"
console.log(mystr.substring(2)) //nameiswesley
console.log(mystr.substring(2,6)) //name
console.log(mystr.substring(6,2)) //name

str.trim()

  • 去掉字符串的前后的空白字符
  • 是所有的空白字符 (space, tab, no-break space 等) 以及所有行终止符字符(如 LF,CR等)。
  • 返回新的字符串
1
2
3
const mystr = "      mynameiswesley"
console.log(mystr) // mynameiswesley
console.log(mystr.trim()) //mynameiswesley

扩展的:str.trimStart(), 别名str.trimLeft()

str.trimEnd(), 别名str.trimRight()

str.toLowerCase()andstr.toUpperCase()

  • 转换大小写
  • 返回新字符串
1
2
3
const mystr = "Hallo Wesley"
console.log(mystr.toLowerCase()) //hallo wesley
console.log(mystr.toUpperCase()) //HALLO WESLEY

[es6]str.repeat()

  • 原字符串重复n次
  • 返回新字符串
1
2
3
4
const mystr = "Wesley"
console.log(mystr.repeat(0)) //
console.log(mystr.repeat(1)) //Wesley
console.log(mystr.repeat(3)) //WesleyWesleyWesley

[es7]str.padEnd() and str.padStart()

  • 用一个字符串填充当前字符串(如果需要的话则重复填充)
  • 返回新字符串
1
2
3
const mystr = "Wesley"
console.log(mystr.padEnd(10,".")) //Wesley....
console.log(mystr.padStart(10)) // Wesley

3.字符串位置方法:

str.indexOf()

  • 返回字符串中第一次出现的指定值的索引(是从前往后找)
  • 如果没有返回-1
1
2
3
const mystr = "WesleyLoveDeborah"
console.log(mystr.indexOf("Love")) //6
console.log(mystr.indexOf("e")) //1

str.lastIndexOf()

  • 返回第一次出现指定值的索引(是从后往前找)
  • 如果没找到返回-1
1
2
3
const mystr = "WesleyLoveDeborah"
console.log(mystr.lastIndexOf("Love")) //6
console.log(mystr.lastIndexOf("e")) //11

[es6]str.includes()

[es6]str.startsWith()

[es6]str.endsWith()

  • 描述:上面三个函数都是查找字符串中是否包含子字符串

    `str.includes()` :字符串是否包含子字符串
    `str.startsWith()` :字符串是否以子字符串开头
    `str.endsWith()` :字符串是否以子字符串结尾
  • 参数:第一个参数:子字符串

            第二个参数:查找的起始位置

    【注意:给endsWith指定第二个参数n是,它指的是前n个字符】

  • 返回值:满足条件返回 true,否则返回 false

4.模式匹配方法:

str.match()

  • 返回一个字符串匹配正则表达式的结果
1
2
3
4
5
    var str = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';
var regexp = /[A-E]/gi;
var matches_array = str.match(regexp);
console.log(matches_array);
// ['A', 'B', 'C', 'D', 'E', 'a', 'b', 'c', 'd', 'e']
  • str.indexOf()一模一样,除开seatch()方法可以使用正则
  • search()方法会默认地把子串转化为正则表达式

str.replace()

  • 通过模式替换匹配的字符串
1
2
3
var str = 'Twas the night before Xmas...';
var newstr = str.replace(/xmas/i, 'Christmas');
console.log(newstr); // Twas the night before Christmas...

str.split()

  • 使用指定的分隔符字符串将一个String对象分割成子字符串数组,以一个指定的分割字串来决定每个拆分的位置
1
2
3
4
5
6
7
8
9
10
11
12
13
14
const str = 'The quick brown fox jumps over the lazy dog.';

const words = str.split(' ');
console.log(words);
// ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]

const chars = str.split('');
console.log(chars);
// ["T", "h", "e", " ", "q", "u", "i", "c", "k", " ", "b", "r", "o", "w", "n", " ", "f", "o", "x", " ", "j", "u", "m", "p", "s", " ", "o", "v", "e", "r", " ", "t", "h", "e", " ", "l", "a", "z", "y", " ", "d", "o", "g", "."]

const strCopy = str.split();
console.log(strCopy);

//["The quick brown fox jumps over the lazy dog."]