2015-12-24 25 views
-3

這可能是您所有人的基本問題。但是,我已經嘗試了2個多小時的研究,但沒有找到完美的解決方案。如何在Javascript中使用分隔符獲取部分字符串

我在格式

var x = "A:B:C:D:E"; 

一個字符串,我想只提取至C,或讓我們說,通過使用「:」 delimitter,我們怎麼能只提取字符串的某一部分?我試過各種JS功能,但沒有解決?可以請某人在這裏幫忙。

編輯:謝謝你們。爲我的問題找到解決方案。以下是我從其中一條評論中使用的代碼。

var x = "A:B:C:D:E"; 
var output=x.split(':').slice(0,3).join(':'); 
+0

你想'[ 「A」, 「B」, 「C」]'或' 「A:B:C」' ?你有什麼努力去實現它? – void

+1

你打算怎麼知道要提取哪個部分?獲得這個「特定部分」的規則是什麼?爲什麼選擇「C」而不是「D」或「B」? –

+0

如果你想''「A」,「B」,「C」]'你可以使用'split(':',3);'第二個參數限制返回哪些分割。 – abhishekkannojia

回答

0

創建使用.indexOf.substr這需要三個參數,第一個字符串本身,第二個,直到你想保留字符串的字符,和第三分隔符的要分割字符串的函數。

function _till(str, till, delimiter){ 
    return str.substr(0, str.indexOf(till)+1); 
} 

_till("A:B:C:D:E:F", "C", ":") 

將輸出:

A:B:C 
+0

或者split(':',3)',其中第二個參數限制爲需要分割。 – abhishekkannojia

+0

@abhishekkannojia很酷,不知道這個。謝謝。 – void

1

使用substr().indexOf()

var x = "A:B:C:D:E"; 
 
var newX = x.substr(0, x.indexOf('C')+1); 
 

 
document.querySelector('pre').innerHTML = newX;
<pre></pre>

+1

尼斯答案,它的工作。 –

+0

@Jai你的代碼只適用於上面提到的字符串。上面提到的字符串是通用的。 如果我的字符串更改爲「ABC:DEF:MENS:HKJH:HJKJ」 –

+0

@deepakkumar那麼預期的結果是什麼呢? – Jai

0

,你可以不喜歡它

var x = "A:B:C:D:E"; 
var c= x.split(":").splice(0,3).join(""); 
console.log(c); 

希望這將有助於

+0

感謝您的幫助。請檢查我在帖子中編輯的內容。爲了獲得所需的輸出,我們需要在Join函數中添加「:」。期望的輸出是「A:B:C」 –

相關問題