2016-12-04 62 views
1

我想在字符串中的某些字符之後獲取所有內容。我不知道爲什麼用我的,當我alert();我不知道爲什麼用我的,當我alert();我不知道爲什麼用我的,當我alert();結果,在字符串之前有一個逗號!javascript:從字符串中獲得某些字符後的所有內容?

這裏是一個工作FIDDLE

這是我的代碼:

var url = "mycool://?string=mysite.com/username_here80"; 
var urlsplit = url.split("mycool://?string="); 

alert(urlsplit); 

任何幫助,將不勝感激。

+0

String#split正好返回一個'Array'(是的,一個真正的ins 'Array',因此獲取最新元素的一種方法是使用'last' getter'',所以'alert'將這個分割數組串聯起來。 – Hydro

+0

請改用'url.split(「=」)。pop()'。 – trincot

回答

1

Split將字符串分隔爲由分隔符分隔的令牌。它總是返回比字符串中的令牌數量更長的數組。如果有一個分隔符,則有兩個標記—一個在左邊,一個在右邊。在你的情況下,左邊的標記是空字符串,所以split()返回數組["", "mysite.com/username_here80"]。嘗試使用

var urlsplit = url.split("mycool://?string=")[1]; // <= Note the [1]! 

檢索數組中的第二個字符串(這是你感興趣的)。

您得到逗號的原因是將數組轉換爲字符串(這是alert()所做的)會導致將數組元素轉換爲字符串的逗號分隔列表。

1

string對象的split function返回基於拆分器的元素數組。你的情況 - 返回的2個元素:

var url = "http://DOMAIN.com/username_here801"; 
 
var urlsplit = url.split("//"); 
 

 
console.log(urlsplit);

你看到逗號是數組作爲字符串的唯一代表。

如果你正在尋找讓一切後一個子你最好使用indexOfslice

var url = "http://DOMAIN.com/username_here801"; 
 
var splitter = '//' 
 
var indexOf = url.indexOf(splitter); 
 

 
console.log(url.slice(indexOf+splitter.length));

0

我會使用一個簡單的替換..

var s = "mycool://?string=mysite.com/username_here80"; 
var ss = s.replace("mycool://?string=", ""); 
alert(ss); 
相關問題