有没有办法用空行拆分多行文本?
Is there a way to split a text on multiple line by empty lines?
如果一个文本有多行并且您必须根据新行拆分它,您可以这样做:
const splitedText = inpitValue.split('\n');
这对于像下一个这样的文本很有效,它将它分成 3 个部分。
this
is
my text
但它是一种根据空行拆分它的方法吗?
例如,对于以下文本,它应该只分成两部分。
This
is
a new
text
@aRvi 是对的
you should use .split('\n\n');
const splitedText = inpitValue.split('\n\n');
您可以从字符串开头匹配 0+ 个空白字符,然后匹配换行符以拆分 1 个或多个“空”行(如果只有空格也被视为空行)。
^\s*\r?\n
let regex = /^\s*\r?\n/gm;
let inpitValue = `This
is
a new
text`;
const splitedText = inpitValue.split(regex);
console.log(splitedText);
拆分 2 个或更多换行符:
[\r\n]{2,}
let inpitValue = `This
is
a new
text`;
const splitedText = inpitValue.split("\n\n");
console.log(splitedText);
如果一个文本有多行并且您必须根据新行拆分它,您可以这样做:
const splitedText = inpitValue.split('\n');
这对于像下一个这样的文本很有效,它将它分成 3 个部分。
this
is
my text
但它是一种根据空行拆分它的方法吗? 例如,对于以下文本,它应该只分成两部分。
This
is
a new
text
@aRvi 是对的
you should use .split('\n\n');
const splitedText = inpitValue.split('\n\n');
您可以从字符串开头匹配 0+ 个空白字符,然后匹配换行符以拆分 1 个或多个“空”行(如果只有空格也被视为空行)。
^\s*\r?\n
let regex = /^\s*\r?\n/gm;
let inpitValue = `This
is
a new
text`;
const splitedText = inpitValue.split(regex);
console.log(splitedText);
拆分 2 个或更多换行符:
[\r\n]{2,}
let inpitValue = `This
is
a new
text`;
const splitedText = inpitValue.split("\n\n");
console.log(splitedText);