JavaScript indexOf() -如何获得特定的索引
JavaScript indexOf() - how to get specific index
假设我有一个URL:
http://something.com/somethingheretoo
我想要得到/
的第三个实例之后是什么?
类似于indexOf()
,它允许我输入我想要的反斜杠的实例
如果您知道它以http://
或https://
开头,请使用一行代码:
var content = aURL.substring(aURL.indexOf('/', 8));
这给你更多的灵活性,如果有多个斜杠在你想要的段
let s = 'http://something.com/somethingheretoo';
parts = s.split('/');
parts.splice(0, 2);
return parts.join('/');
试试下面的函数,它将返回搜索字符串s第n次出现的索引,如果有n-1或更少的匹配,则返回-1。
String.prototype.nthIndexOf = function(s, n) {
var i = -1;
while(n-- > 0 && -1 != (i = this.indexOf(s, i+1)));
return i;
}
var str = "some string to test";
alert(str.nthIndexOf("t", 3)); // 15
alert(str.nthIndexOf("t", 7)); // -1
alert(str.nthIndexOf("z", 4)); // -1
var sub = str.substr(str.nthIndexOf("t",3)); // "test"
当然,如果您不想将函数添加到String中。原型,你可以把它作为一个独立的函数,通过添加另一个参数来传递你想要搜索的字符串。
如果你想坚持使用indexOf
:
var string = "http://something/sth1/sth2/sth3/"
var lastIndex = string.indexOf("/", lastIndex);
lastIndex = string.indexOf("/", lastIndex);
lastIndex = string.indexOf("/", lastIndex);
string = string.substr(lastIndex);
如果你想获得给定URL的路径,你也可以使用RE:
string = string.match(/'/'/[^'/]+'/(.+)?/)[1];
这个正则搜索"//
",接受"//
"和下一个"/
"之间的任何值,并返回一个对象。这个对象有几个属性。属性[1]
包含第三个/
之后的子字符串。
另一种方法是使用Javascript的"split"函数:
var strWord = "me/you/something";
var splittedWord = strWord.split("/");
splittedWord[0]将返回"me"
splittedWord[1]将返回"you"
splittedWord[2]将返回"something"
听起来你想要pathname
。如果你是在浏览器中,保持一个a
元素方便…
var _a = document.createElement('a');
…让它为你做解析。
_a.href = "http://something.com/somethingheretoo";
alert( _a.pathname.slice(1) ); // somethingheretoo
演示:http://jsfiddle.net/2qT9c/
在您的示例中,您可以使用lastIndexOf()
方法来获取第三个正斜杠
这里有一个非常酷的处理方法:我如何删除字符串中的所有字符,包括第3个斜杠?
我最喜欢的解决方案是
var url = "http://blablab/test/page.php";
alert(url.split("/")[3]);
//-> "test"
可以这样做,而不是使用indexOf
:
const url = 'http://something.com/somethingheretoo';
const content = new URL(url).pathname.slice(1);
相关文章:
- 如何在遍历表和添加新元素时获得tr的索引
- 如何在aurelia中获得重复父索引的引用
- 如何在一个索引不等于2的ul中获取li,我知道如何获得索引gt或lt 2
- 如何获得使用jQuery单击的dt的索引?
- 如何获得一个数组元素的索引,其中有一个以上的子元素在javascript
- 如何获得当前索引的值转义任何元素使用Jquery
- 如何获得父LI索引和子LI索引
- 如何在列表框中获得选定项目的索引,并添加到列表框两个按钮
- 如何在Mootools中获得点击元素的索引
- Javascript过滤并获得多个索引
- 如何获得点击元素的索引
- 如何获得只有当前索引和值的许多html元素使用jquery点击
- 如何在easySlider中获得活动索引
- 如何使用Highcharts获得图中更新点的索引,以及如何重新加载数据直到该索引
- 通过javascript数组并获得下一个数组索引值
- JavaScript indexOf() -如何获得特定的索引
- 不能通过ajax调用获得正确的索引结果
- 如何使用javascript获得元素索引
- 如何通过将文本与纯Javascript匹配来获得选择菜单中某个选项的索引
- 如何在每个循环中获得流星模板中数组的索引?