我有一个字符串列表,如下所示(来自带有 <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/