регулярка (если возможно)
Всем привет
Есть строка: 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 !== '', но приведение строки к булеву типу дает тоже саме практически. |
danik.js,
понятно. туплю. Все предложенные варианты накосячат вот на таком предложении: План перевыполнинли на 0.5% (150мл./л.) по сравн. с прошлой пятилеткой. |
Цитата:
Цитата:
|
nerv_,
в таком случае, слишком сложны, 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});
alert( parts );
работает так, как это
var str = "Предложение1.Предложение2.предложение3.предложение4.";
var parts = str.split('.').map(function(item){return item});
alert( parts );
... ну почти ^__^ Цитата:
|
Цитата:
var str1 ="Предложение1.Предложение2.предложение3.предложение4.";
var str2 ="План перевыполнинли на 0.5% (150мл./л.) по сравн. с прошлой пятилеткой."
function PartsDivider(str){
return str.split(/\.(?=\s*?\[A-Z]|[А-ЯЁ])/mg);
}
alert(PartsDivider(str1) )
alert(PartsDivider(str2) )
|
| Часовой пояс GMT +3, время: 14:33. |