регулярка (если возможно)
Всем привет
Есть строка: 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:27. |