迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

在 JavaScript 中获取字符串中指定字符最后一次出现之后的部分

作者:迹忆客 最近更新:2023/02/23 浏览次数:

要获取字符串中指定字符最后一个出现之后的部分:

  1. 使用 String.lastIndexOf() 方法获取字符串中 lash 出现的索引。
  2. 使用 String.slice() 方法获取字符串中最后一次出现之后的部分。
const str = '/hello/world/index.html';

const afterLastSlash = str.slice(str.lastIndexOf('/') + 1);
console.log(afterLastSlash); // 👉️ index.html

String.slice 方法提取字符串的一部分并将其返回,而不修改原始字符串。

String.slice() 方法采用以下参数:

  • start 索引要包含在返回的子字符串中的第一个字符的索引
  • end 索引要从返回的子字符串中排除的第一个字符的索引

当只有一个参数被传递给 String.slice() 方法时,切片会到达字符串的末尾。

const str = 'fqljiyik.com';

console.log(str.slice(3)); // 👉️ jiyik.com
console.log(str.slice(9)); // 👉️ com

我们使用 String.lastIndexOf() 方法获取字符串中最后一个斜杠/字符的索引。

const str = '/hello/world/index.html';

console.log(str.lastIndexOf('/')); // 👉️ 12

console.log(str.lastIndexOf('/') + 1); // 👉️ 13

我们不想在字符串中包含该字符的最后一次出现,因此我们在索引中添加了 1。


处理找不到字符的场景

请注意 ,如果 lastIndexOf 方法未在字符串中找到该字符,则返回 -1。

如果字符串中不存在该字符,我们可以返回整个字符串,那么我们无需执行任何操作。

如果在找不到字符时需要返回空字符串,请使用 if 语句。

const str = '/hello/world/index.html';

let result = '';

const char = '@';

if (str.lastIndexOf(char) !== -1) {
  result = str.slice(str.lastIndexOf(char) + 1);
}

console.dir(result); // 👉️ ""

我们将结果变量初始化为一个空字符串。

如果 lastIndexOf() 方法没有返回 -1,则该字符包含在字符串中,我们将变量重新分配给结果。


创建一个可重用的函数

如果我们必须这样做,通常会定义一个可重用的函数。

function afterLastOccurrence(string, char) {
  return string.slice(string.lastIndexOf(char) + 1);
}

// 👇️ index.html
console.log(afterLastOccurrence('/hello/world/index.html', '/'));

// 👇️ com
console.log(afterLastOccurrence('fql,jiyik,com', ','));

// 👇️ com
console.log(afterLastOccurrence('fql_jiyik_com', '_'));

另一种可能更简单的方法是使用 splitpop 方法。


使用 split() 获取字符串中最后一次出现之后的部分

要获取字符串中指定字符最后一个出现之后的部分:

  1. 使用 String.split() 方法在每次出现字符时拆分字符串。
  2. 使用 String.pop() 方法获取最后一次出现后的字符串部分。
const str = 'hello/world/index.html';

const afterLastSlash = str.split('/').pop();
console.log(afterLastSlash); // 👉️ index.html

代码示例返回字符串中最后一个斜线之后的子字符串。

我们使用 String.split() 方法在正斜杠/字符上拆分字符串。

这将返回一个不带斜杠/分隔符的字符串数组。

const str = 'hello/world/index.html';

const splitOnSlash = str.split('/');
console.log(splitOnSlash); // 👉️ ['hello', 'world', 'index.html']

我们调用 Array.pop 方法从数组中移除并返回最后一个元素。

const str = 'hello/world/index.html';

const afterLastSlash = str.split('/').pop();
console.log(afterLastSlash); // 👉️ index.html

如果我们关心性能,则会使用第一种方法,即使除非我们使用非常大的字符串,否则差异可以忽略不计。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

MySQL 中将字符串附加到现有字段

发布时间:2023/05/08 浏览次数:63 分类:MySQL

本文我们将学习使用 CONCAT() 和 CONCAT_WS() 函数在 MySQL 字段中连接或附加字符串值。使用 CONCAT() 和 CONCAT_WS() 将字符串附加到 MySQL 中的现有字段

MySQL 将字符串拆分成行

发布时间:2023/05/08 浏览次数:68 分类:MySQL

在本文中,我们将讨论什么是将字符串拆分为行以及如何创建一个自执行函数。 我们主要讨论 SUBSTRING_INDEX() 方法以及一些示例以轻松理解该概念。

在 MongoDB 中将字符串转换为日期

发布时间:2023/04/20 浏览次数:63 分类:MongoDB

MongoDB 是一个越来越受欢迎的优秀平台。 在它提供的各种功能中,MongoDB 还允许您将数据从一种类型转换为另一种类型。本文介绍了在各种版本的 MongoDB 中将字符串转换为日期字段的方法。

如何从 Python 中的字符串中删除第一个字符

发布时间:2023/04/11 浏览次数:118 分类:Python

在Python中,要删除一个字符串的第一个字符,可以使用切片操作或者字符串方法。 方法一:使用切片操作 在Python中,可以使用切片操作来获取字符串的子字符串。切片操作使用方括号

如何从 Python 中的字符串中删除特殊字符

发布时间:2023/04/11 浏览次数:272 分类:Python

在Python中,可以使用多种方法来删除字符串中的特殊字符。在本文中,我们将介绍一些最常见的方法。 方法一:使用replace()方法删除特殊字符 可以使用字符串的 replace() 方法来删除字符

如何在 Python 中将字符串转换为双精度

发布时间:2023/04/11 浏览次数:191 分类:Python

在Python中,将字符串转换为双精度浮点数(double)可以使用内置的 float() 函数。在本文中,我们将介绍如何使用 float() 函数将字符串转换为双精度浮点数,并讨论一些相关问题。 使用

如何在 C++ 中把字符串转换为小写

发布时间:2023/04/09 浏览次数:63 分类:C++

介绍了如何将 C++ std::string 转换为小写的方法。当我们在考虑 C++ 中的字符串转换方法时,首先要问自己的是我的输入字符串有什么样的编码

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便