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>
相关推荐
意法半导体STM3218 分钟前
【官方原创】FDCAN数据段波特率增加后发送失败的问题分析 LAT1617
javascript·网络·stm32·单片机·嵌入式硬件·安全
为什么不问问神奇的海螺呢丶19 分钟前
n9e categraf redis监控配置
前端·redis·bootstrap
云飞云共享云桌面19 分钟前
推荐一些适合10个SolidWorks设计共享算力的服务器硬件配置
运维·服务器·前端·数据库·人工智能
咔咔一顿操作42 分钟前
轻量无依赖!autoviwe 页面自适应组件实战:从安装到源码深度解析
javascript·arcgis·npm·css3·html5
刘联其1 小时前
.net也可以用Electron开发跨平台的桌面程序了
前端·javascript·electron
韩曙亮1 小时前
【jQuery】jQuery 选择器 ④ ( jQuery 筛选方法 | 方法分类场景 - 向下找后代、向上找祖先、同级找兄弟、范围限定查找 )
前端·javascript·jquery·jquery筛选方法
前端 贾公子1 小时前
Node.js 如何处理 ES6 模块
前端·node.js·es6
pas1361 小时前
42-mini-vue 实现 transform 功能
前端·javascript·vue.js
你的代码我的心1 小时前
微信开发者工具开发网页,不支持tailwindcss v4怎么办?
开发语言·javascript·ecmascript
esmap1 小时前
OpenClaw与ESMAP AOA定位系统融合技术分析
前端·人工智能·计算机视觉·3d·ai·js