2015-09-29 4 views
1

Я хочу разделить эту строку:сплит() функция возвращает строку, которая не расщепляется

120,00 m²

в этом:

120 m²

Я пробовал код с кодом:

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

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

alert(partsOfStr); 

Предупреждение возвращается каждый раз «старая» строка (120,00 м²).

Может ли кто-нибудь мне помочь?

спасибо!

+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

[Read:: .join() '] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Global_Objects/Array/join) метод make string из массива с переданными аргументами. – 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,' '); 
Смежные вопросы