2014-03-05 25 views
0

喜的是,的jQuery/JavaScript的如何擺脫空格(替換()不工作)

我有我的數據庫來的字符串:

var theString = "LNDSH - LONDON SHOPS"; 

我需要兩個變量進行的。

一個用 - 之前的代碼,另一個用 - 之後的句子。

要做到這一點我做的:

var sentence = $.trim(theString.substring((theString.indexOf('-')+1),theString.length)); 
var code = $.trim(theString.substring(0, theString.indexOf('-'))); 

VAR句話是好的,但之前我無法擺脫的空間 - 在代碼中的變量。

我真的需要擺脫那些空間。

請注意,在var句子中,我正在做+1,因爲它總是在句子和 - 之間的一個空格。

但在代碼的情況下:我不知道代碼的長度,我不知道有多少空間將是前 -

我已經試過:

code.replaceAll("\\s+", " "); 

但是這並不顯示我的網頁中的東西(也沒有JavaScript錯誤)。

我使用jQuery,1.5.1.min和jQuery-UI-1.8.14.custom.min

非常感謝!

+0

有點題外話,但爲什麼您使用這樣的舊版本的jQuery? – Itay

+0

_「沒有javascript錯誤」_ - 你確定嗎? JS沒有'.replaceAll()'方法。 – nnnnnn

回答

3

試試這個:

variable.replace(/\s/g,''); 

編輯:以上不會單獨的字符串,它只會刪除空格。

要獨立,你可以做這樣的字符串:

var seperate = theString.split("-", 2); 
var LNDSH = seperate[0]; 
var LONDON_SHOPS = seperate[1]; 
+0

爲什麼會有降價? +1很好的答案。 $ replaceAll用於元素afaik。 –

+0

@你的權利,編輯答案,對不起:) – PLATANIUM

+0

值得使用'split(「 - 」,2)'確保只返回兩個字符串。 – Jon

3

您可以使用split用正則表達式:

var values = "LNDSH - LONDON SHOPS".split(/\s*-\s*/); 

console.log(values[0]); // "LNDSH" 
console.log(values[1]); // "LONDON SHOPS" 
+0

可能值得使用'split(/ \ s * - \ s * /,2)'來確保只返回兩個字符串。 – Jon

+0

@Jon可以。這取決於要求。 – VisioN

+0

@Jon - 如果其他代碼只使用前兩個數組項,則沒有多大區別。 – nnnnnn

1
var theString = "LNDSH - LONDON SHOPS"; 

var vett = theString.split("-"); 
var a = vett[0].trim(); 
var b = vett[1].trim(); 
0
var test = theString.split("-"); 
alert(test[0].trim()); 
alert(test[1].trim()); 
+0

請注意JS的'。trim()'在IE <= 8中不起作用。 (但OP使用jQuery,所以可以使用'$ .trim()'。) – nnnnnn