首页 前端知识 JS 截取字符串的方法( 10种 )

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

2024-08-14 00:08:07 前端知识 前端哥 627 218 我要收藏

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

在这里插入图片描述

No.内容链接
1Openlayers 【入门教程】 - 【源代码+示例300+】
2Leaflet 【入门教程】 - 【源代码+图文示例 150+】
3Cesium 【入门教程】 - 【源代码+图文示例200+】
4MapboxGL【入门教程】 - 【源代码+图文示例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://www.qianduange.cn//article/15471.html
评论
发布的文章

HTML5 地理定位

2024-08-20 09:08:58

HTML5 的真相(一)

2024-08-20 09:08:31

大家推荐的文章
会员中心 联系我 留言建议 回顶部
复制成功!