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>
相关推荐
Watermelo6172 分钟前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript
m0_748248943 分钟前
HTML5系列(11)-- Web 无障碍开发指南
前端·html·html5
m0_7482356115 分钟前
从零开始学前端之HTML(三)
前端·html
一个处女座的程序猿O(∩_∩)O2 小时前
小型 Vue 项目,该不该用 Pinia 、Vuex呢?
前端·javascript·vue.js
hackeroink5 小时前
【2024版】最新推荐好用的XSS漏洞扫描利用工具_xss扫描工具
前端·xss
迷雾漫步者7 小时前
Flutter组件————FloatingActionButton
前端·flutter·dart
向前看-7 小时前
验证码机制
前端·后端
燃先生._.8 小时前
Day-03 Vue(生命周期、生命周期钩子八个函数、工程化开发和脚手架、组件化开发、根组件、局部注册和全局注册的步骤)
前端·javascript·vue.js
高山我梦口香糖9 小时前
[react]searchParams转普通对象
开发语言·前端·javascript