2011-11-06 94 views
0

我试图检索':'右侧的数据或使用':'作为获取数据之后的起点。寻找正确的解析项目。获取其他字符右侧的元素/字符

var test = 'type:input'; 

charAt给我':'的位置,但是我该如何从var test中检索'input'?

回答

6

您可以使用split

var testAfter = test.split(':')[1]; 

substrindexOf

var testAfter = test.substr(test.indexOf(':')+1); 

slice

var testAfter = test.slice(test.indexOf(':')+1); 

match

var testAfter = test.match(/(:)(.+$)/).pop(); 

replace

var testAfter = test.replace(/^.+:/,''); 
如果你想要自由使用任何分隔符

,这个字符串扩展可以做的工作:

String.prototype.dataAfter = String.prototype.dataAfter || 
    function(delim){ 
    return this.split(delim)[1]; 
    }; 
//usage 
var testAfter = test.dataAfter(':'); 
var test2 = 'type#input'; 
var testAfter = test2.dataAfter('#'); 
+0

谢谢。如果我想用':'作为分隔符,有什么方法可以var test2 = test [1],':';或某种类型的分隔符声明? – user1009749

+0

你能更具体吗?在我的答案中的所有例子中:'* *是分隔符。或者你的意思是别的吗? – KooiInc

+0

是的,尝试你的例子后,它的作品。再次感谢 – user1009749

1

substr?

var test2 = test.substr(test.indexOf(':')+1); // until end