在 JavaScript 中将一个字符串修剪成 N 个字符
How to trim a String to N characters in JavaScript
使用该String.substring()
方法将字符串修剪为 N 个字符,例如
const trimmed = str.substring(0, length);
.
该String.substring()
方法以 astart
和end
indexes 作为参数,并返回开始和结束索引之间的字符串部分。
索引.js
const str = 'Hello World Goodbye World'; const length = 11; const trimmed = str.substring(0, length); console.log(trimmed); // 👉️ Hello World
我们使用
String.substring()
方法将字符串缩减为 11 个字符。
我们传递给该方法的参数是:
- 起始索引– 要包含在返回字符串中的第一个字符的索引。
- 结束索引– 上升到但不包括该索引。
JavaScript 索引是从零开始的,因此字符串中第一个字符
0
的索引是,最后一个字符的索引是。 str.length - 1
如果您需要在截断的字符串中添加省略号以防有剩余字符,请使用三元运算符。
索引.js
const str = 'Hello World Goodbye World'; const length = 11; const trimmed = str.length > length ? str.substring(0, length) + '...' : str.substring(0, length); console.log(trimmed); // 👉️ Hello World...
三元运算符与
if/else 语句非常相似。
我们首先检查字符串的长度是否大于我们要保留的字符数。如果是,我们必须添加一个省略号。
上面的代码示例等效于以下 if/else 语句。
索引.js
const str = 'Hello World Goodbye World'; const length = 11; let trimmed; if (str.length > length) { trimmed = str.substring(0, length) + '...'; } else { trimmed = str.substring(0, length); } console.log(trimmed) // 👉️ Hello World...
不如三元运算符优雅,但是,如果您不习惯语法,它会更容易阅读。
您还可以使用该String.slice()
方法将字符串修剪为 N 个字符。
使用 String.slice() 将字符串修剪为 N 个字符
使用该String.slice()
方法将字符串修剪为 N 个字符,例如
const trimmed = str.slice(0, length);
.
该String.slice()
方法以 astart
和end
indexes 作为参数,并返回开始和结束索引之间的字符串部分。
索引.js
const str = 'Hello World Goodbye World'; const length = 11; const trimmed = str.slice(0, length); console.log(trimmed); // 👉️ Hello World
该String.slice()
方法采用与方法相同的参数String.substring()
– 开始和结束索引。
start
该方法返回从索引到但不包括索引的字符串的一部分end
。
以下是如何向修剪后的字符串添加省略号。
索引.js
const str = 'Hello World Goodbye World'; const length = 11; const trimmed = str.length > length ? str.slice(0, length) + '...' : str.slice(0, length); console.log(trimmed); // 👉️ Hello World...
使用该String.slice()
方法比 更直观String.substring()
。
例如,如果您将负参数传递给该方法,它会将其视为您传递了,这非常令人困惑。
String.substring
0
对于 和 之间的其他差异String.substring()
,String.slice()
请查看
MDN 文档。