字符串方法


 1.indexof()

返回调用它的 String 对象中第一次出现的指定值的索引从 fromIndex 处进行搜索,未找到返回  -1,
    // 语法如下: str.indexOf(searchValue, [fromIndex])
    let str = "I am little cute."
    let a = str.indexOf('l') 
    console.log(a)  //5
    let b = str.indexOf('l', 6)
    console.log(b)  //9    从第六个开始找 l 出现位置

2.charAt()

charAt() 方法从一个字符串中返回指定的字符。  
    // 语法如下: str.charAt(index)
    let str1 = "I am little cute."
    let a1 = str1.charAt(3)    
    console.log(a1);   //m   返回3
    let b1 = str1.charAt(50)
    console.log(b1);   //未输出,不报错

3.concat()

concat() 方法将一个或多个字符串与原字符串连接合并,形成一个新的字符串并返回。

语法如下: str . concat ( str1 , str2, ... strN ])
示例:
var str = 'hello';
var s = str.concat(' world', '!');
console.log(s); //hello world!
注意:

(1)使用concat() 来拼接字符串和使用加号来拼接字符串的效果是一样的,但是使用concat()更优雅一点。

(2)但是在开发中都要避免其使用,特别是用于循环中(内存占用)。

4.substring()

截取开始到结束

语法如下: str . substring ( indexStart , indexEnd )
var str = 'charset';
var s = str.substring(1); console.log(s); //harset 从1到最后 s = str.substring(1, 3); console.log(s); // ha 从1到3 s = str.substring(3, 1); console.log(s); // ha 等于s = str.substring(1, 3); s = str.substring(-1); console.log(s); //如果给的第一个参数是负数,那么它会把字符串复制后返回。

5、substr()

substr() 方法返回一个字符串在开始索引位置截取lenght个。
// 语法如下: str.substr ( from , length );
let str2 = "abcdefg";
let a2 = str2.substr(1, 2)
console.log(a2);   //bc   从1开始取2个
let b2 = str2.substr(1)
console.log(b2);   //bcdefg    从1开始到最后
let c2 = str2.substr(-2)
console.log(c2);   //fg    反向2个

6、slice()

slice() 方法截取某个字符串的一部分

语法如下: str . slice ( beginIndex , endIndex )
示例:
var str = 'The morning is upon us.';
var s = str.slice(5);
console.log(s); //orning is upon us.   从5到最后
s = str.slice(5, 9);
console.log(s); //orni     从5到9
s = str.slice(5, -3);
console.log(s); //orning is upon    从5到倒数3
s = str.slice(-1, 5);
console.log(s); //负数 无输出内容  
说明: 和substr()的功能类似,都是用于截取子字符串的。

7.replace() 

新字符串替换旧的匹配到的字符串

语法如下: str . replace ( regexp | substr , newSubStr | function )

  var str = 'Twas the night before Xmas...';
  // 把字母 e 替换为 ,
  var s = str.replace('e', ',');
  console.log(s); //Twas th, night before Xmas... 只替换了一个
  s = str.replace(/\s+/ig, '-');
  console.log(s); //Twas-the-night-before-Xmas... 替换了所有空格

说明: i 表示不区分大小写; g 表示全局匹配; m 表示匹配多行;

参数 说明(简略记录)
regexp 
一个RegExp对象或者其字面量。改正则匹配到的内容会被第二个参数返回的值替换
substr 
字符串,匹配到的内容仅会被替换掉第一个
newSubStr 
需要替换成的字符串
function 
返回字符串的函数

8.replaceAll() 

用新字符串替换所有匹配到的旧字符串

同replace() 

注意:

(1)replaceAll() 方法会替换掉所有被查找到的字符 ;

(2)replaceAll() 方法中如果要使用正则表达式,那么必须要添加全局匹配参数(/g)。

 

9.split()

split() 方法使用指定的分隔符字符串将一个 字符串 分割成 数组

示例:
  var str = "Hello World How are you doing";
  var arr = str.split(' ');
  console.log(arr);    //['Hello', 'World', 'How', 'are', 'you', 'doing']
  arr = str.split(/\s+/);
  console.log(arr);    //['Hello', 'World', 'How', 'are', 'you', 'doing']

说明:支持正则表达式分割

10.trim()

trim() 方法会从一个字符串的两端删除空白字符。

示例:
 var str = ' char set ';
var s = str.trim();
console.log(s); //char set 没有前后的空格 中间的空格不能去除

11.match()

match() 方法检索返回一个字符串匹配正则表达式的结果。

语法如下: str . match ( regexp )


示例:
  var str = 'For more information, see Chapter 3.4.5.1';
  // 定义一个正则表达式
  var regex = /see (chapter \d+(\.\d)*)/i;
  var flag = str.match(regex);
  console.log(flag);  //自己验证