javascript - 避免从 split() 换行?

标签 javascript

我有一个字符串列表,如下所示(来自带有 <textarea>id=list 元素):

q1

q2
q3


q4 

JavaScript:

var TA = document.getElementById("list").value; 
lines = TA.split("\r\n");

我要lines变量具有值 q1,q2,q3,q4 , 但结果是 q1,,q2,q3,,,q4 (注意空项)

我想避免结果数组中出现空白字符串 - 我该怎么做?

最佳答案

尝试这样的事情,它也应该处理其他格式的新行(例如,只有 \n):

var lines = TA.split(/[\r\n]+/);

或者,删除标记前后的空行和空格(这个只匹配 \r\n 格式,但你可以使用 [\r\n] 代替):

var lines = TA.split(/\s*\r\n\s*/);

或者,您可以匹配行而不是拆分换行符:

var lines = TA.match(/.+/g);

. 不匹配新行,所以 .+ 实际上匹配整行,并跳过空行。这也会跳过数组开头或结尾的空标记(如 \n\n a\n b),而 split 仍会创建空元素。

关于javascript - 避免从 split() 换行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5551215/

相关文章:

javascript - 没有输入的 jQuery 日期选择器

javascript - 如何使用electron-html-to node.js解决超时问题

javascript - 获取数组内部的数组

javascript - 尝试使用 JavaScript 验证 URL

javascript - 如何在angularjs中请求异步下载文件?

javascript - 在网页中使用 zxing Barcode Scanner

javascript - 谷歌地图API加载灰色 map 而不是 map 图像

php - 如何防止多次绘制模态?

javascript - 如何垂直对齐表格单元格中的第一行文本?

javascript - 是否可以使用 Semantic UI 创建模糊页面调光器?