我有一个看起来像这样的字符串: var string ="某事/ 123 / bah / 234 / id / 835 / param / 2343&#34 ;;
我想只针对" 835"我需要来自" id"。有什么快速的方法可以解决这个问题吗?
答案 0 :(得分:0)
拆分它;拿第六个对象:
var string = "something/123/bah/234/id/835/param/2343"
var id = string.split("/")[5]; // "id" is 835 now
或者,如果您希望在id/
之后找到您的ID,并且id/
的位置可能会发生变化:
var string = "something/123/bah/234/id/835/param/2343".split("/");
var id = string[string.indexOf("id")+1]; // "id" is 835 now
if(id==string[0]){id="No ID found"} // ...that's just if id happens not to be in your string
答案 1 :(得分:0)
如果您要提取的数字不一定是第六部分,但您知道它在字符串id
之后且由数字组成,则可以使用正则表达式
var id_part = string.match(/id\/(\d+)/)[1]
答案 2 :(得分:0)
如果网址会更改并且只保留ID但位于不同的位置,那么您可以使用正则表达式:
var id = string.match(/id\/([^\/]+)/i)[1];
答案 3 :(得分:0)
您可以使用正则表达式,并从捕获组中提取ID。无论什么位置,这都会抓住id。
var string = "something/123/bah/234/id/835/param/2343";
var regex = /\/id\/(\d+)\//g
var match = regex.exec(string)
alert(match[1]); // 835