2015-04-27 75 views
0

我使用的是下面的字符串,我想用JavaScript中的空格返回子字符串。用空白字符返回一個字符串

我該怎麼做?

截至目前我使用了正常的子字符串函數,但它在刪除空格後給了我結果。

var Sting="CREC      20140615001CREC_GLOSS            18_0000033122     GLO4265  SGLB201406152014090120140531 TESTFOREF  0000000000033122    8-1   EQTY  GB       21419  ACTUALS EUR000000000462098830   8738   N                                            C70390000501F    SQTY BUY 212102 [email protected] 9.34                  8738  8738        " 

var x= Sting.substring(1,27) 

Result x= CREC 20 

我不希望它這樣的,相反,我希望我的結果是

x= CREC      20 
+4

是不是您所期望的結果? – SaintLike

+0

我想他想要的只是一個空格,而不是單詞/ ids代碼之間的很多空格,不管。事後看來,SO的評論編輯功能是不正常的。 – shash7

+1

@SaintLike - 看到OP是新的,我猜他沒有完全按照他希望的那樣來設置代碼/結果的格式。 – j08691

回答

3

這是一個瀏覽器的東西 - 連續的空格顯示爲一個。你可能要替換' ' ,然後它會顯示所有的空格indiviudaly

x.replace(" ", " "); 

另一種方法是避免顯示的字符串作爲HTML。例如,alert()函數將顯示正確的空間數量,而無需替換。在<pre>標籤中顯示字符串也應該可以正常工作。

1

如果你的空間始終是相同的長度,你可以這樣做:

x.replace("      ", " "); 

否則,你可以使用正則表達式與來替代多個空格:

x.replace(/\s+/g, ' '); 

所看到Here

+0

這與OP想要的是相反的,即保留空白(已被預先保存,但他以某種方式弄錯了)。 –

+1

我對這個問題不斷變化的狀態感到困惑。在目前編輯Dobromir的答案是正確的... – Austinh100

+0

如果這就是你原諒你的原因:) –

2

我認爲Dobromir對OP的解釋可能是正確的,因此是一個很好的答案。

如果它確實是一個瀏覽器的事情,那麼也許有更好的方式來得到它不改變字符串本身正常顯示與

white-space: pre 

此樣式的HTML元素將保持類似的空間它在<pre>塊中執行。

請參閱http://www.w3schools.com/cssref/pr_text_white-space.asp

+0

好的一個關於CSS,我沒想到 –