JS:16种常见字符串方法

1.charAt(index)

返回指定字符串

javascript 复制代码
    <script>
      let str = "Hello";
      console.log(str.charAt(1)); // 输出 "e"
    </script>

2.concat(string1, string2, ...)

返回连接后的字符串。

javascript 复制代码
    <script>
      let str1 = "Hello";
      let str2 = " ";
      let str3 = "world";
      let result = str1.concat(str2, str3);
      console.log(result); // 输出 "Hello world"
    </script>

3.indexOf(searchValue[, fromIndex]):

返回子字符串首次出现的索引,找不到返回-1,从左至右查找。

javascript 复制代码
    <script>
      let str = "hello world";
      console.log(str.indexOf("orld")); // 输出 7
    </script>

4.lastIndexOf(searchValue[, fromIndex])

返回子字符串首次出现的索引,找不到返回-1。从右至左查找。

javascript 复制代码
    <script>
      let str = "hello world";
      console.log(str.lastIndexOf("l")); // 输出 9
    </script>

5.replace(regexp|substr, newSubstr|function)

替换匹配项并返回新字符串。

javascript 复制代码
      let str = "I love node.js";
      let newStr = str.replace("node.js", "js");
      console.log(newStr); // I love js

6.slice(start[, end])与substring(start[, end])

返回指定区间内的子字符串。

javascript 复制代码
    <script>
      str = "Hello, World!";
      console.log(str.substring(0, 5)); // 输出 "Hello"
      console.log(str.substring(7)); // 输出 "World!"
      console.log(str.substring(-1)); // 输出 "Hello, World!",因为 -1 被当作 0
      console.log(str.substring(10, 7)); // 输出 "Hello",因为参数被交换了
      console.log(str.slice(0, 5)); // 输出 "Hello"
      console.log(str.slice(7)); // 输出 "World!"
      console.log(str.slice(-1)); // 输出 "!",因为从字符串的尾部开始计数
      console.log(str.slice(10, 7)); // 输出 "",因为 startIndex 大于 endIndex
    </script>

7.split(separator[, limit])

使用指定分隔符将字符串分割成数组。

javascript 复制代码
let str = "apple,banana,grape";
let fruits = str.split(",");
console.log(fruits); // 输出 ["apple", "banana", "grape"]

8.toLowerCase()与toUpperCase()

转换为小写和转换为大写

javascript 复制代码
    <script>
      let str = "APPLE";
      console.log(str.toLowerCase()); // 输出 "apple"
      let str2 = "apple";
      console.log(str.toUpperCase()); // 输出 "APPLE"
    </script>

9.trim() 及相关方法

移除字符串两侧的空白字符。

javascript 复制代码
    <script>
      let str = "   hello   ";
      console.log(str.trim()); // 输出 "hello"
      let str2 = "   hello   ";
      console.log(str.trimStart()); // 输出 "hello   "
      let str3 = "   hello   ";
      console.log(str.trimEnd()); // 输出 "   hello"
    </script>

10.includes()

检查字符串是否包含某个子字符串

javascript 复制代码
    <script>
      let str = "Hello, world!";
      console.log(str.includes("world")); // 输出 true
    </script>

11.startsWith()endsWith()

检查字符串是否以某个子字符串开始或结束

javascript 复制代码
    <script>
      let url = "https://ljynet.com";
      console.log(url.startsWith("https")); // 输出 true
      console.log(url.endsWith(".cn")); // 输出 false
    </script>

12.repeat()

重复字符串指定次数

javascript 复制代码
    <script>
      let str = "https://ljynet.com";
      console.log(str.repeat(3)); //https://ljynet.comhttps://ljynet.comhttps://ljynet.com
    </script>

13.padStart()padEnd()

在字符串开始或结束添加指定字符以达到固定长度

javascript 复制代码
    <script>
      let num = "123";
      console.log(num.padStart(5, "0")); // 输出 "00123"
      console.log(num.padEnd(5, "!")); // 输出 "123!!!"
    </script>

14.match()

使用正则表达式搜索字符串,并返回匹配项数组

javascript 复制代码
    <script>
      let text = "cat, bat, sat, fat";
      let pattern = /.at/;
      let matches = text.match(pattern);
      console.log(matches); // 输出 ["cat"]
    </script>

15.matchAll()

返回一个迭代器,其包含了所有匹配正则表达式的捕获组

javascript 复制代码
  <script>
      let text = "cat, bat, sat, fat";
      let regex = /.at/g;
      for (const match of text.matchAll(regex)) {
        console.log(match[0]);
      }
      // 输出 "cat", "bat", "sat", "fat"
    </script>

16.search()

找到与正则表达式匹配的第一个子串的索引,如果没有找到则返回-1:

javascript 复制代码
    <script>
      let text = "Can you find me?";
      let pos = text.search(/find/i);
      console.log(pos); // 输出 7
    </script>
相关推荐
知识分享小能手7 小时前
微信小程序入门学习教程,从入门到精通,电影之家小程序项目知识点详解 (17)
前端·javascript·学习·微信小程序·小程序·前端框架·vue
訾博ZiBo7 小时前
React组件复用导致的闪烁问题及通用解决方案
前端
Dever7 小时前
记一次 CORS 深水坑:开启 withCredentials 后Response headers 只剩 content-type
前端·javascript
临江仙4557 小时前
流式 Markdown 渲染在 AI 应用中的应用探秘:从原理到优雅实现
前端·vue.js
Hilaku7 小时前
为什么我开始减少逛技术社区,而是去读非技术的书?
前端·javascript·面试
m0_728033137 小时前
JavaWeb——(web.xml)中的(url-pattern)
xml·前端
猪哥帅过吴彦祖7 小时前
第 8 篇:更广阔的世界 - 加载 3D 模型
前端·javascript·webgl
七月十二8 小时前
[Js]使用highlight.js高亮vue代码
前端
Asort8 小时前
JavaScript设计模式(十二)——代理模式 (Proxy)
前端·javascript·设计模式
简小瑞8 小时前
VSCode源码解密:Event<T> - 类型安全的事件系统
前端·设计模式·visual studio code