在前端开发中,我们经常需要截断字符串来满足特定的需求。比如,一个新闻标题可能太长了,需要在一定长度后省略显示。本文将介绍多种 JavaScript 截断字符串的方法,包括原生函数和常用库函数,并附有示例代码。
1. 原生函数:substr()
substr()
是 JavaScript 的原生函数,可以从字符串中截取指定长度的子串。它接受两个参数,第一个参数是起始位置,第二个参数是要截取的长度。如果第一个参数是负数,表示从字符串末尾开始计算;如果第二个参数是负数,表示截取到倒数第几个字符。
const str = "Hello world!"; const result = str.substr(0, 5); // 截取前五个字符 console.log(result); // 输出 "Hello"
2. 原生函数:substring()
substring()
也是 JavaScript 的原生函数,可以从字符串中截取指定范围的子串。它接受两个参数,第一个参数是起始位置(包含),第二个参数是结束位置(不包含)。如果任意一个参数是负数,会被转换为 0。
const str = "Hello world!"; const result = str.substring(0, 5); // 截取从第一个字符到第六个字符(不包含第六个字符) console.log(result); // 输出 "Hello"
3. 原生函数:slice()
slice()
同样是 JavaScript 的原生函数,可以从字符串中截取指定范围的子串。它接受两个参数,第一个参数是起始位置(包含),第二个参数是结束位置(不包含)。如果任意一个参数是负数,会被转换为从字符串末尾开始计算。
const str = "Hello world!"; const result = str.slice(0, 5); // 截取前五个字符 console.log(result); // 输出 "Hello"
4. Lodash 库函数:truncate()
Lodash 是一个常用的 JavaScript 工具库,内置了许多实用的函数。其中 truncate()
函数可以对字符串进行截断,并在末尾添加省略号,以达到节省空间的效果。它接受三个参数,第一个参数是要截断的字符串,第二个参数是截断后字符串的最大长度,第三个参数是省略号的位置,默认为结尾。
const _ = require('lodash'); const str = "Hello world!"; const result = _.truncate(str, { length: 5 }); // 截取前五个字符并添加省略号 console.log(result); // 输出 "He..."
总结
本文介绍了四种 JavaScript 截断字符串的方法,包括原生函数和常用库函数。具体选用哪一种方法,需要根据实际需求来决定。如果只是简单的截取固定长度的子串,可以使用 substr()
、substring()
或 slice()
函数;如果需要在截断后添加省略号,可以使用 Lodash 库中的 truncate()
函数。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/3527