最近碰到一个问题,需要将textarea中获取到的多行文本数据按每一行进行识别,分隔成每一行一条单独的数据
比如这样的数据
"adsghasdghq131dadqe1
qw1231few34234wetete
qweq12314twr12313131
wr12313131qw2314tdas
qwequiqweasdaduqweie"
希望按照换行转换为
["adsghasdghq131dadqe1","qw1231few34234wetete","qweq12314twr12313131","wr12313131qw2314tdas","qwequiqweasdaduqweie"]
可以用下面的方法
let value=`
adsghasdghq131dadqe1
qw1231few34234wetete
qweq12314twr12313131
wr12313131qw2314tdas
qwequiqweasdaduqweie`;
let code = value.split(/[(\r\n)\r\n]+/); // 根据换行或者回车进行识别
code.forEach((item, index) => { // 删除空项
if (!item) {
code.splice(index, 1);
}
})
code = Array.from(new Set(code)); // 去重
console.log(code);
结果如下:
主要是通过
value.split(/[(\r\n)\r\n]+/)
进行的识别分隔。其中\n代表换行,\r代表回车,可以加个\s代表空格
value.split(/[(\r\n\s)\r\n\s]+/)
let value=["adsghasdghq131dadqe1", "qw1231few34234wetete", "qweq12314twr12313131", "wr12313131qw2314tdas", "qwequiqweasdaduqweie"];
let code = value.join("\n"); // 按数组每一项转换为每一行数据
console.log(code);
结果如下
可以看到空格也被分隔了。
同理,将数组转换为换行的字符串
let value=["adsghasdghq131dadqe1", "qw1231few34234wetete", "qweq12314twr12313131", "wr12313131qw2314tdas", "qwequiqweasdaduqweie"];
let code = value.join("\n"); // 按数组每一项转换为每一行数据
console.log(code);
结果如下