字符串常用的属性或方法

249 阅读2分钟

字符串方法

1.字符串长度

length 属性返回字符串的长度:

   let str = 'strings';
   console.log(str.length); //7

2.查找字符串中的字符串

indexOf() 方法返回字符串中指定文本首次出现的索引(位置)

   let str = 'strings';
   console.log(str.indexOf('s'));  //0
   console.log(str.indexOf('a'));  //-1

lastIndexOf() 方法返回指定文本在字符串中最后一次出现的索引:

   let str = 'strings'
   console.log(str.lastIndexOf('s')) //6
   console.log(str.lastIndexOf('a')) //-1

如果未找到文本, indexOf() 和 lastIndexOf() 均返回 -1。

indexOf()与lastIndexOf()的第二个参数都是开始寻找的位置。

  let str = 'strings';
  console.log(str.indexOf('g', 2)); //5
  console.log(str.lastIndexOf('g', 2)); //-1

检索字符串中的字符串

search() 方法搜索特定值的字符串,并返回匹配的位置

 let str = 'strings';
 console.log(str.search('s')); //0 

两种方法,indexOf() 与 search(),是相等的。

这两种方法是不相等的。区别在于:

search() 方法无法设置第二个开始位置参数。

indexOf() 方法无法设置更强大的搜索值(正则表达式)

3.字符串截取

slice(start, end)

substring(start, end)

substr(start, length)

  let str2 = 'Hello Word';
  console.log(str2.slice(0, 2));  //He  参数一:开始位置,参数二:结束位置 参数二不传时,截取参数一开始的位置到结束,参数可为负值
  console.log(str2.substring(0, 2));  //He  参数一:开始位置,参数二:结束位置 参数二不传时,截取参数一开始的位置到结束,参数不可为负值 区别substring()参数不能为负
  console.log(str2.substr(0, 2));  //He  参数一:开始位置,参数二:截取长度 第二个参数不能为负

4.替换字符串内容

replace() 方法用另一个值替换在字符串中指定的值:

  let str2 = 'Hello World';
  console.log(str2.replace('l', 'A')); //HeAlo World

replace() 方法不会改变调用它的字符串。它返回的是新字符串。

默认地,replace() 只替换首个匹配

  let str2 = 'Hello World';
  console.log(str2.replace('HELLO', 'Hi')); //Hello World

默认地,replace() 对大小写敏感。因此不对匹配 HELLO

如需执行大小写不敏感的替换,请使用正则表达式 /i(大小写不敏感)

  let str2 = 'Hello World';
  console.log(str2.replace(/HELLO/i, 'Hi')); //Hi World

如需替换所有匹配,请使用正则表达式的 g 标志(用于全局搜索)

    let str2 = 'Hello World';
    console.log(str2.replace(/l/g, 'A')); //HeAAo WorAd

5.转换为大写和小写

通过 toUpperCase() 把字符串转换为大写

   let str2 = 'Hello World';
   console.log(str2.toUpperCase()); //HELLO WORLD

通过 toLowerCase() 把字符串转换为小写

  let str2 = 'Hello World';
  console.log(str2.toLowerCase()); //hello world

6.concat() 方法

concat() 连接两个或多个字符串

   let str = 'Hello';
   let str2 = 'World';
   console.log(str.concat('-',str2)) // Hello-World

7. trim()去掉两端空白符

    let str = '   Hello   World   ';
    console.log(str.trim());  //Hello   World

低版本中需要使用replace()方法代替trim()

    let str = '   Hello   World   ';
    console.log(str.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g, ''));  //Hello   World

8.提取字符串字符

charAt() 方法

charAt() 方法返回字符串中指定下标(位置)的字符串

let str = 'Hello World';
console.log(str.charAt(0));  //  H

9.把字符串转换为数组

可以通过 split() 将字符串转换为数组

   let str = 'HelloWorld';
   console.log(str.split('')); //['H', 'e', 'l', 'l', 'o', 'W', 'o', 'r', 'l', 'd']

参考:www.w3school.com.cn/js/js_strin…