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>
相关推荐
selt7914 分钟前
Redisson之RedissonLock源码完全解析
android·java·javascript
行走的陀螺仪25 分钟前
高级前端 Input 公共组件设计方案(Vue3 + TypeScript)
前端·javascript·typescript·vue·组件设计方案
一颗不甘坠落的流星1 小时前
【Antd】基于 Upload 组件,导入Json文件并转换为Json数据
前端·javascript·json
LYFlied1 小时前
Vue2 与 Vue3 虚拟DOM更新原理深度解析
前端·javascript·vue.js·虚拟dom
Lucky_Turtle1 小时前
【Node】npm install报错npm error Cannot read properties of null (reading ‘matches‘)
前端·npm·node.js
小飞侠在吗1 小时前
vue shallowRef 与 shallowReacitive
前端·javascript·vue.js
惜分飞2 小时前
sql server 事务日志备份异常恢复案例---惜分飞
前端·数据库·php
GISer_Jing2 小时前
WebGL实例化渲染:性能提升策略
前端·javascript·webgl
Gomiko2 小时前
JavaScript进阶(四):DOM监听
开发语言·javascript·ecmascript