2015-09-29 47 views
1

我想這個字符串分割字符串:分裂()函數返回的不是分裂

120.00平方米

到這一點:

120平方米

我試試這個代碼:

var test = jQuery('#wpsight-listing-details-3 .span4:nth-child(4) .listing-details-value').html(); 

var partsOfStr = test.split(','); 

alert(partsOfStr); 

每當「舊」字符串(120,00m²)都返回警報。

有人能幫助我嗎?

非常感謝!

+1

這是因爲'alert'調用驚動值的'toString'方法時的值不是一個字符串。數組的'toString'通過調用'Array.prototype.join'方法使用','來加入數組元素。使用'console.log'進行調試! – undefined

回答

1

在逗號後覆蓋不同數量的另一種選擇:

var result= "120,00 m²".replace(/[,]\d+[ ]/,' '); 
1

你可以這樣做:

var test = "120,00 m²"; 
 
var partsOfStr = test.split(',00').join(''); 
 

 
alert(partsOfStr);

+0

謝謝你的作品。 你能告訴我更多關於join()函數嗎? – cgee

+0

[閱讀它:'.join()'](https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/join)方法使字符串通過傳遞參數的數組。 – Jai

+1

啊好的。 partsOfStr是一個數組,join()將數組的所有部分再次組合成一個字符串? – cgee

1

我會使用一個正則表達式和替換,.replace(/,\d+ m²/, ' m²')

是這樣的:

$('.test').text('120,00 m²'.replace(/,\d+ m²/, ' m²'));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="test"></div>

0
var a= '120,0,000,000,00 m²'; a.replace(/[,]\d+/g,' ');