我认为问题非常随意,但无法找到解决方案。
我有一个字符串
var full = 'hopaopGmailb3GkI'
var name = 'hopaop'
var service = 'Gmail'
如何从原始字符串中获取b3GkI
,假设名称和服务是动态值,也是从字符串var full
解析的。
或如何获取service
字符串
var full
的最后一个字符的索引
我需要获取service
字符串中变量var full
的最后一个字符的索引。 var index = full.indexOf(service);
返回第一个字符的索引(本例中为6)。出于某种原因,我也不能从字符串中排除名称+服务。
答案 0 :(得分:2)
var index = full.indexOf(service) + service.length;
应该做到这一点。我也觉得你可以想出一个正则表达式来完成这个,但我不是主人。
答案 1 :(得分:1)
版本1
var full = 'hopaopGmailb3GkI';
var name = 'hopaop';
var service = 'Gmail';
var result = full.substring(full.indexOf(service) + service.length)
console.log(result);
第2版
您可以使用Split
var full = 'hopaopGmailb3GkI';
var name = 'hopaop';
var service = 'Gmail';
var result = full.split(service)[1];
console.log(result);
答案 2 :(得分:1)
使用正则表达式的另一种选择
var full = 'hopaopGmailb3GkI';
var service = 'Gmail';
console.log((function(source, service) {
var match = new RegExp('(.+)' + service + '(.+)').exec(source);
return {
'service': service,
'name': match[1],
'token': match[2]
};
})(full, service));
返回{"service":"Gmail","name":"hopaop","token":"b3GkI"}