我在字符串中有一个列表,如下所示(来自<textarea>元素id=list):
q1
q2
q3
q4
Run Code Online (Sandbox Code Playgroud)
JavaScript的:
var TA = document.getElementById("list").value;
lines = TA.split("\r\n");
Run Code Online (Sandbox Code Playgroud)
我想lines变量有值q1,q2,q3,q4,但结果是q1,,q2,q3,,,q4(注意空项)
我想避免结果数组中的空字符串 - 我该怎么做?
尝试这样的东西,它也应该处理其他格式的新行(例如,仅\n):
var lines = TA.split(/[\r\n]+/);
Run Code Online (Sandbox Code Playgroud)
或者,删除令牌之前/之后的空行和空格(这个只会匹配\r\n格式,但您可以使用[\r\n]):
var lines = TA.split(/\s*\r\n\s*/);
Run Code Online (Sandbox Code Playgroud)
或者,您可以匹配行而不是拆分换行符:
var lines = TA.match(/.+/g);
Run Code Online (Sandbox Code Playgroud)
.与新行不匹配,因此.+实际上匹配整行,并跳过空行.这也将跳过数组开头或结尾的空标记(如\n\n a \n b),同时split仍然创建空元素.
| 归档时间: |
|
| 查看次数: |
5103 次 |
| 最近记录: |