首页 > 其他分享 >js 找出最后一次字符串中指定或者某个字符后面出来的内容

js 找出最后一次字符串中指定或者某个字符后面出来的内容

时间:2023-12-30 13:56:35浏览次数:32  
标签:字符 lastIndexOf rules js substring let str 字符串 custom

JS 获取最后一个 指定字符 后面的值
示例

let str = 'http://199.188.18.282:8012/logistics-web/rules/custom-rules'

1.找出’/'后面出来的值
使用 JavaScript 中的 .substring() 方法来实现

当然你也可以按的指定字符来截取

let str = 'http://199.188.18.282:8012/logistics-web/rules/custom-rules'
let index = str.lastIndexOf('/'); // 获取最后一个/的位置
let lastSegment = str.substring(index + 1); // 截取最后一个/后的值
console.log(lastSegment); // custom-rules

2.找出最后一次’/'后面出来的值
使用 JavaScript中的 .split() 方法和 .pop() 方法来实现

当然你也可以按的指定字符来截取

let str = 'http://199.188.18.282:8012/logistics-web/rules/custom-rules'
let lastSegment = str.split('/').pop();
console.log(lastSegment); // custom-rules

.split()方法会把字符串分割成数组,传入’/'则会把字符串以‘/’为分割点拆分成数组。
.pop() 方法会返回数组的最后一个元素。


3.找出倒数第二次’/'后面出来的值
使用 JavaScript中的 .substring() 方法和 .lastIndexOf() 方法来实现

let str = 'http://199.188.18.282:8012/logistics-web/rules/custom-rules'
// .lastIndexOf('/')找出最后一个 '/' 出现的位置,输出:45
let lastIndex = str.lastIndexOf('/');
// .substring(start, end) 从给定位置截取新字符串,输出:http://199.188.18.282:8012/logistics-web/rules
// 紧接着.lastIndexOf('/')找出最后一个 '/' 出现的位置,输出:39,在这个位置logistics-web/ 的索引
let secondLastIndex = str.substring(0, lastIndex).lastIndexOf('/');
// 最后让新字符串从倒数第二个'/'+1的位置到最后一个'/'的位置截取出来,就是结果了。
let secondLastSegment = str.substring(secondLastIndex + 1, lastIndex);
console.log(secondLastSegment); // rules

纯代码

let str = 'http://199.188.18.282:8012/logistics-web/rules/custom-rules'
let lastIndex = str.lastIndexOf('/');
let secondLastIndex = str.substring(0, lastIndex).lastIndexOf('/');
let secondLastSegment = str.substring(secondLastIndex + 1, lastIndex);
console.log(secondLastSegment); // rules

3.找出第五次’/'后面出来的值,来点长一点的
使用 JavaScript中的 .substring() 方法和 .lastIndexOf() 方法来实现

let str = 'http://199.188.18.282:8012/logistics-web/rules/custom-rules/XXXX/BBBB/HHHH'
let fifthSlashIndex = str.indexOf('/', str.indexOf('/', str.indexOf('/', str.indexOf('/', str.indexOf('/') + 1) + 1) + 1) + 1) + 1;
let sixthSlashIndex = str.indexOf('/', fifthSlashIndex + 1);
console.log(str.substring(fifthSlashIndex, sixthSlashIndex));

解释:使用 str.indexOf('/') 五次来找到第五次出现"/“的位置,str.indexOf(‘/’, fifthSlashIndex + 1) 来找到第六次”/“的位置,最后使用 str.substring(fifthSlashIndex, sixthSlashIndex) 来截取第五次”/"后面到第六次之间的字符。输出custom-rules
注意:如果第六次"/"不存在,那么 sixthSlashIndex 会返回-1,就不能使用substring来截取,所以在项目中使用提前判断一下

标签:字符,lastIndexOf,rules,js,substring,let,str,字符串,custom
From: https://www.cnblogs.com/plBlog/p/17936291.html

相关文章

  • 浏览器原生支持JS Base64编码解码
    1.Base64解码:vardecodedData=window.atob('内容');2.Base64编码:varencodedData=window.btoa('base64编码内容');3.中文转换报错?若中文Base64数据转换有报错问题,可以中文先encode转码和decode编码,示例如下:3.1使用:window.btoa(window.encodeURIComponent('内......
  • JS 鼠标拖拽元素移动
    代码示例<!DOCTYPEhtml><htmllang="zh-CN"><head> <metacharset="UTF-8"> <title>Document</title> <style> #wrap{ width:100px; height:100px; background-color:green; position:......
  • nodejs多线程-共享内容
    前言:昨天遇到基于Nodejs启动多线程,以便不同服务之间可以调用(共享内存) worker_threadsnode官方文档注明了:worker_threads模块允许使用并行地执行JavaScript的线程。与child_process或cluster不同,worker_threads可以共享内存。它们通过传输ArrayBuffer实例或共享Sh......
  • 在 Django 中使用 Vue.js 组件的步骤如下³⁴: 1. **安装 Vue.js**:首先,你需要在你的开
    在Django中使用Vue.js组件的步骤如下³⁴:1.**安装Vue.js**:首先,你需要在你的开发环境中安装Vue.js³。2.**创建Vue组件**:在Vue.js中,你可以创建一个新的Vue组件。例如,你可以在`src/components`文件夹下新建一个名为`Home.vue`的组件¹。3.**在Django模板中引......
  • ASP.NET Core 6(.NET 6) Program.cs中使用读取appsettings.json配置文件
    ​ 在ASP.NETCore6(.NET6)中,可以使用Json格式的appsettings.json配置文件来配置应用程序,用于存储应用程序的配置信息,方便我们灵活的配置应用程序。本文主要介绍Program.cs中,使用读取appsettings.json配置文件的方法,以及相关的示例代码。1、通过配置实体类的方式1)配置实体......
  • 使用Commons JXPath简化XML/JSON处理
    第1章:引言咱们都知道,在现代软件开发中,处理XML和JSON数据几乎是家常便饭。这两种格式广泛应用于配置文件、数据交换、API响应等领域。不过,要手动解析和操作它们,有时候真是让人头大。当你面对一堆复杂的XML或JSON文件时,如果有一个工具能直接帮你找到想要的数据,那该多好。JXPath正......
  • 使用Commons JXPath简化XML/JSON处理
    第1章:引言咱们都知道,在现代软件开发中,处理XML和JSON数据几乎是家常便饭。这两种格式广泛应用于配置文件、数据交换、API响应等领域。不过,要手动解析和操作它们,有时候真是让人头大。当你面对一堆复杂的XML或JSON文件时,如果有一个工具能直接帮你找到想要的数据,那该多好。JXPath正......
  • 使用Commons JXPath简化XML/JSON处理
    第1章:引言咱们都知道,在现代软件开发中,处理XML和JSON数据几乎是家常便饭。这两种格式广泛应用于配置文件、数据交换、API响应等领域。不过,要手动解析和操作它们,有时候真是让人头大。当你面对一堆复杂的XML或JSON文件时,如果有一个工具能直接帮你找到想要的数据,那该多好。JXPath正......
  • antlr 在一段字符可被多个 terminal node 匹配时的行为
    考虑下面一段antlr语法STRING:[a-zA-Z0-9]+;NUMBER:[0-9]+;NEWLINE:'\r'?'\n';root:idtitleEOF;id:'id:'NUMBERNEWLINE;title:'title:'STRINGNEWLINE;我们希望id:后面只存在数字,而title:后买可存在数字或字母,因而定义了NUMBER和STRIN......
  • flask vue 在 pycharm中 pycharm 每次新建一个新的项目(虚拟环境) 都需要重新安装vue.
    在PyCharm中使用Flask和Vue.js,你可以按照以下步骤进行:创建一个新的项目:打开PyCharm,创建一个新的项目或者打开一个已有的项目⁴。安装Flask:在PyCharm的设置(Settings)中,选择PythonInterpreter选项,点击+号按钮,搜索flask,并点击InstallPackage按钮⁴。安装Vue.js:在......