Home > Blockchain >  How to split multiline string into lines?
How to split multiline string into lines?

Time:06-30

How to split a multiline string into lines without taking into account the newline in the line itself?

My approach is not working:

const str = `
Hello
World\t
its\nbeautiful
`;

JSON.stringify(str).split(/$\\n/g)

What is the result of this approach:

[""", "Hello", "World\t", "its", "beautiful", """]

What result is needed in the end:

[""", "Hello", "World\t", "its\nbeautiful"]

CodePudding user response:

Since \n is the character that marks new lines, just like a normal new line, there is no way for javascript to differenciate between \n and \n.

An idea for your "special" new lines could be to escape that \n with another \ so you would end up with

const str = `
Hello
World\t
its\\nbeautiful
`;
str.split("\n");

The result would be this:

['', 'Hello', 'World\t', 'its\\nbeautiful', '']

CodePudding user response:

unfortunately like the backslash are inside a string with backquote ` it will be interpreted as a character and \n will be interpreted as a new line

an idea can be to add another set of character at end of each line and split with this (in my sample @@)

let str = `@@
Hello@@
World\t@@
its\nbeautiful@@
`;

console.log(str.split('@@\n'));

  • Related