Javascript索引字符的特定实例
Javascript indexOf a specific instance of a character
一个简单的问题很难有效地用谷歌搜索,对此深表歉意!
我有一个字符串中的URL,如下所示:
var url = https://foo.com/give/me/HELP/9835'
我想使用Javascript创建一个子字符串,返回字符串的"HELP"部分。我能想到的最简单的方法是获得第5个和第6个/
的索引,并围绕它创建一个子字符串,但我找不到关于如何做到这一点的文档。
想法呢?
String.prototype.indexOf
将fromIndex
作为其第二个参数-您可以简单地找到前四个出现,然后从该索引中搜索:
function findNthOccurrenceOf(search, n, string) {
var i = 0, j = 0, l = string.length;
while (j++ < n) {
i = string.indexOf(search, i) + 1;
if (i === 0) { i = -1; break; }
if (i >= l) break;
}
return i > 0 && i < l ? i - 1 : -1;
}
然而,对于这样的场景来说,这有点过头了。您也可以通过分隔符分割字符串,并在索引N:处获得值
> var splitArray = 'https://foo.com/give/me/HELP/9835'.split('/')
["https:", "", "foo.com", "give", "me", "HELP", "9835"]
> splitArray.length > 4 ? splitArray[5] : "MISSING"
"HELP"
或者,如果期望值总是采用某种格式,则使用正则表达式:
> var search = /'/(HELP)'//.exec(url);
["/HELP/", "HELP"]
> search ? search[1] : "MISSING"
"HELP"
相关文章:
- 名称输入的索引
- ES6构造函数返回基类的实例
- 在jQuery中获取表的行索引
- 测试索引值是否等于某个数字的倍数
- 循环遍历数组中的特定索引
- 按照选项卡索引的顺序循环一个jQuery选择
- KnockoutJS-组件-多个实例
- 在JavaScript中通过索引从对象数组中获取值
- 为什么无法在TypeScript中导出类实例
- 如何在GoogleWeb工具包(GWT)中从JSNI调用接口(实例化)
- fluxxor向一个flux实例添加一组以上的操作
- 使用jQuery获取Dropzone实例/对象
- 尝试在PHP中回显输入文本时出现未定义的索引错误
- "实例范围”;TypeScript类的getter/setter
- 在索引.html和应用.js [node.js] 之间共享变量
- 如何在速度模板中获取LiferayPortlet实例id
- Javascript索引字符的特定实例
- 如何匹配并返回一个字符串的多个实例,其中单个撇号可以包含在任何索引中
- 索引文件到模块实例的交互
- typescript:为类实例建立索引