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>
相关推荐
l1m0_17 分钟前
智能电动自行车管理后台实战:AI生成页面与React组件化技巧
前端·react.js·ui·ai·设计
Patrick_Wilson32 分钟前
为什么gitlab的MR会默认有一个merge commit
前端·git·gitlab
en.en..42 分钟前
Linux mmap 内存映射深度解析:基于帧缓冲 /dev/fb0
java·服务器·前端
后台模板学习1 小时前
从0到1用Vite构建电商订单系统前端性能优化方案
前端
Wang's Blog1 小时前
Vibe Coding一人即团队系列58: HTML演示文稿自动生成
前端·人工智能·html
FoldWinCard2 小时前
基于k8s高可用web集群
前端·容器·kubernetes
神探小白牙2 小时前
海康视频在vue2.0中的使用
前端·音视频
Tanjia_kiki2 小时前
谷歌浏览器中F12编辑并重发请求
开发语言·前端·javascript
honkun62 小时前
vue 表格组件 vxe-table 实现拖拽列字段自动生成透视表汇总
前端·javascript·vue.js
新中地GIS开发老师2 小时前
WebGIS开发入门 | 从 Web 开发到地图开发,差别在哪儿?
前端·vue·webgis