2013-12-12 8 views
1

Я получаю количество возврата каретки в строку, как такпредел возврата каретки в строку

var str = str.split(/\n/).length; 

Я хотел бы ограничить свою строку так, что после 5 cr «s строка удаляет только те символы возврата каретки после максимально допустимый. Может ли кто-нибудь предоставить синтаксис для этого.
Спасибо, ходит моя попытка.


это сглаживает строку в весь через 5, я хотел бы сохраняют первые 5 затем расплющить затем снабжать струной, тетивой и т.п.

function countLineBreaks(str){ 
    var n = str.split(/\n/).length; 
     return n; 
}; 
var n = countLineBreaks(myStr); 

if(n > 5) 
    str = str.replace(/\n/g, " ");// replace cr's with empty space after 5 

ответ

2

разделить массив, объединить все элементы после 5, а затем присоединиться он вернулся в

function trimString(str) { 
    var lines = str.split(/\n/); 
    if(lines.length > 5) { 
    var rest = lines.slice(5); 
    lines.length = 5; 
    lines[5] = rest.join(' '); 
    } 
    return lines.join('\n'); 
} 
3

вы могли бы быть в состоянии сделать это с регулярными выражениями, но вы также можете просто сделать это с расщеплением и присоединения:.

var split = str.split("\n"); 
var first6 = split.splice(0, 6); // remove first 6 elements into first6 
var result = first6.join("\n") + (split.length ? " " + split.join(" ") : ""); 
Смежные вопросы