регулярка (если возможно)
Всем привет
Есть строка: var str = "Предложение1.Предложение2.предложение3.предложение4."; нужно каждое предложение занести в отдельный <div> чтоб в результате была одна переменная с таким содержанием: var result = <div>Предложение1</div><div>Предложение2</div><div>Предложение3</div><div>Предложение4</div> |
var str = "Предложение1.Предложение2.предложение3.предложение4."; var parts = str.split('.').filter(function(item){return item}); var fragment = document.createDocumentFragment(); for (var i=0; i < parts.length; i++) { var div = document.createElement('div'); div.innerHTML = parts[i]; fragment.appendChild(div); } либо var str = "Предложение1.Предложение2.предложение3.предложение4."; var parts = str.split('.').filter(function(item){return item}); var result = '<div>' + parts.join('</div><div>') + '</div>'; alert (result); |
Вариантики )))
var str = "Предложение1.Предложение2.предложение3.предложение4."; var parts = str.split('.'); parts.pop(); var result = '<div>' + parts.join('</div><div>') + '</div>'; alert (result); var str = "Предложение1.Предложение2.предложение3.предложение4."; var parts = str.match(/[^.]+/g); var result = '<div>' + parts.join('</div><div>') + '</div>'; alert (result); |
до кучи
alert( '<div>' + "Предложение1.Предложение2.предложение3.предложение4".replace( /\./g, '</div><div>' ) + '</div>' ); |
danik.js, рони, nerv Спасибо большое, что нужно) +
|
nerv_, а где крайняя точка? :nono:
|
alert( '<div>' + "Предложение1.Предложение2.предложение3.предложение4.".split(/\.$/)[0].replace( /\./g, '</div><div>' ) + '</div>'); |
Цитата:
slice( 0, -1 ) в чем проблема? ) |
danik.js,
а что делает "filter"? var parts = str.split('.').filter(function(item){return item}); |
Как что? Фильтрует :)
Откидывает пустые строки. Последний элемент то будет представлять из себя пустую строку. Вообще, фильтрующая функция должна проверять item !== '', но приведение строки к булеву типу дает тоже саме практически. |
Часовой пояс GMT +3, время: 03:56. |