将文本区域中的文本按新行(包括空行)拆分为 javascript 数组
Splitting text in textarea by new lines (including empty lines) into javascript array
我正在尝试通过新行拆分文本区域数据中的文本。我当前的代码有效,除了一个小要求:生成的数组也必须包含空行。
<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行为空.",","最后一行。
您的.split
将包含',但是当line
为假时,您可以按一个空字符串...
$(function(){
var lines = [];
$.each($('#data').val().split(/'n/), function(i, line){
if(line){
lines.push(line);
} else {
lines.push("");
}
});
console.log(lines);
});
这是一个工作示例:JSFiddle
输出:
["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."]
或者只是像上面的评论所建议的那样(我假设您的示例已被简化,您需要在.each
循环中做其他事情):
var lines = $('#data').val().split(/'n/);
JS小提琴
除了 geedubb 的答案之外,如果您希望出于编码原因避免使用反斜杠:
var lines = $('#data').val().split(String.fromCharCode(10));
相关文章:
- 拆分文本以每隔n个字符添加一行新行,并注意空格
- 拆分文本节点
- 如何使用tspan拆分Ext.draw.text中的长文本
- jQuery拆分文本
- 计算文本块中的字符数,并将其拆分为两列
- 编写一个代码来拆分字符串“test”,并将Name的值分配给文本框,将ok的值分配到复选框
- 使用 jQuery 将长字符串拆分为文本块
- 拆分襟翼文本动画 Jquery
- 正则表达式使用 match() 将长文本拆分为单独的句子
- 将文本框中用逗号分隔的员工ID拆分为数组,然后处理这些字符串
- 将文本区域拆分为较小的变量
- 将表中的值拆分为不同的文本输入
- JavaScript 拆分字符串 选定的文本删除
- 数组文本或字符串拆分
- 使用javascript将文本区域拆分为不同的文本框
- 更新引导拆分按钮文本并使用下拉按钮功能
- 将文本拆分为一些粗体和一些不在功能Javascript片段上
- 将文本拆分为相等长度的字符串,以保持单词的完整性
- Javascript函数将文本拆分为两个相同长度的字符串
- 在 JavaScript 中将文本拆分为数组