javascript - 寻找从字符串中提取未知子字符串的最简单方法。(用斜线分隔的术语)
问题描述
初始字符串:
initString = '/digital/collection/music/bunch/of/other/stuff'
我想要的是: music
- 具体来说,我想要介于
collection/
和/bunch
我将如何处理:
if(initString.includes('/digital/collection/')){
let slicedString = initString.slice(19); //results in 'music/bunch/of/other/stuff'
let indexOfSlash = slicedString.indexOf('/'); //results, in this case, to 5
let desiredString = slicedString.slice(0, indexOfSlash); //results in 'music'
}
问题:
我到底如何以更优雅的方式在 javascript 中完成此任务?
- 我寻找类似的东西
endIndexOf()
来代替我的硬编码.slice(19)
lastIndexOf()
不是我要找的,因为我希望索引在我的子字符串的第一个实例的末尾/digital/collection/
- 我希望减少行数,但我找不到像
.getStringBetween('beginCutoff, endCutoff')
先感谢您!
解决方案
您的标题显示“索引”,但您的示例显示您想要返回一个字符串。如果,事实上,你想返回字符串,试试这个:
if(initString.includes('/digital/collection/')) {
var components = initString.split('/');
return components[3];
}
推荐阅读
- swift - 如何使用 CGPath 为该图像制作 SKPhysicsBody?
- mysql - 将 SQL 结果格式化为数组;通过密钥访问?
- spring - 如何像默认错误处理程序一样在 Spring web 5(启动)中呈现 BindingResult?
- apache-spark - 如何以自动化方式导出大型 Neo4j 数据集进行分析
- angular - 在条件运算符(三元)上使用 Angular i18n
- node.js - 根据团队规模/数量更改 Stripe 中的定价层
- java - 按下按钮 FXML 后从 Textfield 获取文本
- lucene - 我们可以使用 Google Translate API 来索引文件以进行搜索吗?
- error-handling - 自定义错误的 Mendix 错误处理
- html - NodeJS Post错误,没有表单操作