js实现多行文本根据换行分隔成数组

最近碰到一个问题,需要将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);

结果如下

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章