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

CSDN 2024-08-03 17:35:04 阅读 75

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;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提供了多种方法来截取字符串。以下是这些方法的详细介绍及代码示例:

<code>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"

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!"

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!"

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"

其他辅助方法

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(),以及模板字面量,它们在处理字符串时各有用途,可以配合使用以实现更复杂的字符串截取需求。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。