2016-06-24 85 views
0

我想這個問題非常隨意,但不能真正找到解決方案。JavaScript獲取字符串的最後一個字符在另一個字符串中的位置

我有一個字符串

var full = 'hopaopGmailb3GkI' 
var name = 'hopaop' 
var service = 'Gmail' 

如何從原始字符串得到b3GkI,假設名稱和服務是動態值,也從字符串var full解析。

或者如何獲得var full

內的變量service的最後一個字符的索引我需要得到var full字符串內的變量service的最後一個字符的索引。 var index = full.indexOf(service);返回第一個字符的索引(本例中爲6)。也出於某種原因,我不能從字符串中排除名稱+服務。

+2

VAR指數= full.indexOf(服務)+ service.length –

+0

Upvoted @VladuIonut因爲它似乎我提交之前,他評論的對象我答案=) – DabaloSe7eN

回答

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

var index = full.indexOf(service) + service.length;應該做的伎倆。我也覺得你可以拿出一個正則表達來完成這個,但我不是主人。

+0

ohh。對,很容易:) – user1935987

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"}

相關問題