【发布时间】:2015-03-30 06:52:53
【问题描述】:
我正在尝试通过新行拆分文本区域数据中的文本。我当前的代码可以工作,除了一个小要求:结果数组还必须包含空行。
<script>
$(function(){
var lines = [];
$.each($('#data').val().split(/\n/), function(i, line){
if(line){
lines.push(line);
}
});
console.log(lines);
});
</script>
<textarea id="data">
I like to eat icecream. Dogs are fast.
The previous line is composed by spaces only.
The last 3 lines are empty.
One last line.
</textarea>
目前的结果是:
["我喜欢吃冰淇淋。狗吃得很快。", " ", "上一行只有空格。", "最后3行是空的。", "最后一行。"]
它应该是什么:
["我喜欢吃冰淇淋,狗吃得很快。", " ", "前一行是空格。", "", "", "", "最后3行是空的。" , "", "最后一行。"]
【问题讨论】:
-
简单拆分不符合您的要求吗?您的
each函数会删除所有空行。 -
@HBP 我不知道
\n不会返回false/null。它已根据接受的答案进行了修复。
标签: javascript jquery arrays split newline