JS 截取字符串的方法( 10种 )

JS 截取字符串的方法( 10种 )本文介绍了 JavaScript 中的几种字符串截取方法 如 slice substring substr 以及如何使用 match 进行正则表达式匹配

大家好,欢迎来到IT知识分享网。

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。

在这里插入图片描述

No. 内容链接
1 Openlayers 【入门教程】 – 【源代码+示例300+】
2 Leaflet 【入门教程】 – 【源代码+图文示例 150+】
3 Cesium 【入门教程】 – 【源代码+图文示例200+】
4 MapboxGL【入门教程】 – 【源代码+图文示例150+】
5 前端就业宝典 【面试题+详细答案 1000+】

在这里插入图片描述

在这里插入图片描述

JavaScript提供了多种方法来截取字符串。以下是这些方法的详细介绍及代码示例:

  1. slice()
    • 语法: string.slice(start[, end])
    • 参数:
      • start: 必需,指定开始截取的位置。可以是正数(从左向右计数)或负数(从右向左计数,即倒数)。负数将被转换为其相对于字符串长度的正数索引。
      • end: 可选,指定停止截取的位置(但不包括该位置的字符)。同样可以是正数或负数。未提供时,默认截取到字符串末尾。
    let str = "Hello, world!"; let sliced = str.slice(1, 5); // "ello" let slicedFromEnd = str.slice(-6, -1); // "world" 
  2. substring()
    • 语法: string.substring(start[, end])
    • 参数:
      • start: 必需,指定开始截取的位置。必须是非负整数,超出字符串长度时按最大有效索引处理。
      • end: 可选,指定停止截取的位置(但不包括该位置的字符)。如果省略或者大于字符串长度,截取到字符串末尾。如果start大于end,它们会被交换。
    let str = "Hello, world!"; let substr = str.substring(½, 6); // ", wor" let substrToEnd = str.substring(7); // "d!" 
  3. substr()
    • 注意:substr() 方法虽然在一些旧文档和遗留代码中可见,但它在现代浏览器中已被弃用,建议不再使用。这里仅作参考。
    • 语法: string.substr(start[, length])
    • 参数:
      • start: 必需,指定开始截取的位置。可以是正数(从左向右计数)或负数(从右向左计数,即倒数)。负数将被转换为其相对于字符串长度的正数索引。
      • length: 可选,指定要截取的字符数量。如果省略或者超出字符串剩余长度,则截取到字符串末尾。
    let str = "Hello, world!"; let substrValue = str.substr(1, 4); // "ello" let substrFromEnd = str.substr(-6); // "world!" 
  4. match()
    • 语法: string.match(regexp)
    • 参数:
      • regexp: 必需,一个正则表达式对象。如果需要截取符合特定模式的部分,可以使用此方法。
    let str = "The quick brown fox jumps over the lazy dog."; let matched = str.match(/\b\w+\b/g); // ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog"] 

    match()返回一个包含匹配结果的数组,如果需要截取单个匹配项,可以使用非全局匹配:

    let str = "Hello, world!"; let greeting = str.match(/Hello/)[0]; // "Hello" 
  5. 其他辅助方法
    • split():通过指定分隔符将字符串分割成多个子串,返回一个数组。
      let str = "apple,banana,orange"; let parts = str.split(","); // ["apple", "banana", "orange"] 
    • charAt():返回指定索引位置的单个字符。
      let str = "Hello, world!"; let firstChar = str.charAt(0); // "H" 
    • charCodeAt():返回指定索引位置字符的 Unicode 编码。
      let str = "Hello, world!"; let code = str.charCodeAt(0); // 72 (对应字符 'H') 
    • indexOf()lastIndexOf():分别查找子字符串在主字符串中首次出现和最后一次出现的位置,返回索引值,未找到时返回 -1。这些方法可以帮助确定截取范围。
      let str = "Hello, world! Hello again."; let firstIndex = str.indexOf("Hello"); // 0 let lastIndex = str.lastIndexOf("Hello"); // 7 
    • 模板字面量(Template literals):用于创建多行字符串和内插表达式,虽然不是直接的截取方法,但在拼接或展示特定片段时非常有用。
      let name = "Alice"; let message = `Hello, ${ 
               name}!`; // "Hello, Alice!" 

总结来说,slice(), substring(), 和 substr() 用于根据索引来截取字符串,而 match() 则基于正则表达式进行模式匹配。此外,还有其他辅助方法如 split(), charAt(), charCodeAt(), indexOf(), lastIndexOf(),以及模板字面量,它们在处理字符串时各有用途,可以配合使用以实现更复杂的字符串截取需求。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/138213.html

(0)
上一篇 2025-06-14 17:26
下一篇 2025-06-14 17:33

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信