在 JavaScript 中根据字符串的最后一次出现进行拆分
要在最后一次出现的子字符串上拆分字符串:,使用 lastIndexOf()
方法获取子字符串的最后一个索引,并在字符串上调用 slice()
方法以获取要拆分的子字符串前后的部分。
const str = 'one#two#three';
const lastIndex = str.lastIndexOf('#');
const before = str.slice(0, lastIndex);
console.log(before); // 👉️ "one#two"
const after = str.slice(lastIndex + 1)
我们使用 String.lastIndexOf
方法获取字符串中最后一次出现的哈希值的索引。
lastIndexOf
方法返回所提供子字符串在字符串中最后一次出现的索引,如果子字符串不包含在字符串中,则返回 -1。
下一步是使用 String.slice
方法获取最后一个索引前后的子字符串。
我们将以下 2 个参数传递给 slice 方法:
- start 索引 - 要包含在新字符串中的第一个字符的索引
- end 索引 - 上升到但不包括该索引
为了获取最后一次出现之前的子字符串,我们调用了起始索引为 0 的 slice
方法并向上移动,但不包括最后一次出现的索引。
为了在最后一次出现之后获取子字符串,我们使用单个参数调用 slice()
方法 - 起始索引。
因为我们不想在字符串中包含散列,所以我们将 1 添加到起始索引。
当我们将单个参数传递给 slice
方法时,它会将字符包含到字符串的末尾。
如果需要处理字符串中不包含子串的场景,可以使用
if
语句。
const str = 'one#two#three';
const lastIndex = str.lastIndexOf('#');
let before = '';
let after = '';
if (lastIndex !== -1) {
before = str.slice(0, lastIndex);
after = str.slice(lastIndex + 1);
}
console.log(before); // 👉️ "one#two"
console.log(after); // 👉️ "three"
我们的 if
语句检查 lastIndexOf
方法是否没有返回 -1。
如果没有,则子字符串包含在字符串中,我们可以安全地调用
slice
方法。否则,前后变量将存储空字符串。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法