在空行上拆分字符串

Split string on blank lines

本文关键字:拆分 字符串      更新时间:2023-09-26

我想使用Javascript的split方法将下面这样的字符串拆分为每个空白白行上的数组。

我怎样才能做到这一点。对'n进行拆分是不可行的,因为我希望每个段落只占用数组的一个元素,并且每个段落中有多个'n

任何帮助都将不胜感激!

字符串:

CHAPTER TWENTY-ONE. MARIE'S SIDE OF IT
CHAPTER TWENTY-TWO. THE CURE COMPLETE

CHAPTER ONE. THE FEVER MANIFESTS ITSELF
There is a certain malady of the mind induced by too much of one
thing. Just as the body fed too long upon meat becomes a prey to that
horrid disease called scurvy, so the mind fed too long upon monotony
succumbs to the insidious mental ailment which the West calls "cabin
fever." True, it parades under different names, according to
circumstances and caste. You may be afflicted in a palace and call it
ennui, and it may drive you to commit peccadillos and indiscretions of
various sorts. You may be attacked in a middle-class apartment house, and
call it various names, and it may drive you to cafe life and affinities
and alimony. You may have it wherever you are shunted into a backwater of
life, and lose the sense of being borne along in the full current of
progress. Be sure that it will make you abnormally sensitive to little
things; irritable where once you were amiable; glum where once you went
whistling about your work and your play. It is the crystallizer of
character, the acid test of friendship, the final seal set upon enmity.
It will betray your little, hidden weaknesses, cut and polish your
undiscovered virtues, reveal you in all your glory or your vileness to
your companions in exile--if so be you have any.
If you would test the soul of a friend, take him into the wilderness
and rub elbows with him for five months! One of three things will surely
happen: You will hate each other afterward with that enlightened hatred
which is seasoned with contempt; you will emerge with the contempt tinged
with a pitying toleration, or you will be close, unquestioning friends to
the last six feet of earth--and beyond. All these things will cabin fever
do, and more. It has committed murder, many's the time. It has driven men
crazy. It has warped and distorted character out of all semblance to its
former self. It has sweetened love and killed love. There is an
antidote--but I am going to let you find the antidote somewhere in the
story.

试试这样的东西:

const paragraphs = text
  // Split on new line
  .split(/['n'r]+/g)
  // Remove blank lines
  .filter((p) => p.trim());

const text = `
CHAPTER TWENTY-ONE. MARIE'S SIDE OF IT
CHAPTER TWENTY-TWO. THE CURE COMPLETE

CHAPTER ONE. THE FEVER MANIFESTS ITSELF
There is a certain malady of the mind induced by too much of one
thing. Just as the body fed too long upon meat becomes a prey to that
horrid disease called scurvy, so the mind fed too long upon monotony
succumbs to the insidious mental ailment which the West calls "cabin
fever." True, it parades under different names, according to
circumstances and caste. You may be afflicted in a palace and call it
ennui, and it may drive you to commit peccadillos and indiscretions of
various sorts. You may be attacked in a middle-class apartment house, and
call it various names, and it may drive you to cafe life and affinities
and alimony. You may have it wherever you are shunted into a backwater of
life, and lose the sense of being borne along in the full current of
progress. Be sure that it will make you abnormally sensitive to little
things; irritable where once you were amiable; glum where once you went
whistling about your work and your play. It is the crystallizer of
character, the acid test of friendship, the final seal set upon enmity.
It will betray your little, hidden weaknesses, cut and polish your
undiscovered virtues, reveal you in all your glory or your vileness to
your companions in exile--if so be you have any.
If you would test the soul of a friend, take him into the wilderness
and rub elbows with him for five months! One of three things will surely
happen: You will hate each other afterward with that enlightened hatred
which is seasoned with contempt; you will emerge with the contempt tinged
with a pitying toleration, or you will be close, unquestioning friends to
the last six feet of earth--and beyond. All these things will cabin fever
do, and more. It has committed murder, many's the time. It has driven men
crazy. It has warped and distorted character out of all semblance to its
former self. It has sweetened love and killed love. There is an
antidote--but I am going to let you find the antidote somewhere in the
story.
`;
const paragraphs = text.split(/['n'r]+/g).filter((p) => p.trim());
console.info('Paragraphs:', paragraphs);

假设每个段落之间有一个换行符,只需用'''n''n'分隔即可。

var paragraphs = text.split(''n'n');

编辑:

在这种情况下,位于https://raw.githubusercontent.com/NinjaBanjo/synonym-search/master/out/w00020.html使用'&xd’或回车。在获得此文本并用text.split('
'n
')对其进行拆分后,数组大小合适。工作示例http://jsfiddle.net/cuVdE/211/.

''n{2,}搜索2个或多个''n并全局执行/g

http://jsfiddle.net/LZf7H/3574/

   var regex = /'n{2,}/g;
function getValue()  {
    return document.getElementById("myinput").value;
}

function match() {
     console.log(getValue().split(regex)); 
}