在空白行上拆分字符串

时间:2016-05-04 00:02:59

标签: javascript arrays

我喜欢使用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.

3 个答案:

答案 0 :(得分:3)

尝试这样的事情:

var paragraphs = text
    .replace(/\n\r/g, "\n")
    .replace(/\r/g, "\n")
    .split(/\n{2,}/g);

在Windows上:

var paragraphs = text.split(/(\n\r){2,}/g);

在Linux上:

var paragraphs = text.split(/\n{2,}/g);

在Mac上:

var paragraphs = text.split(/\r{2,}/g);

答案 1 :(得分:2)

假设每个段落之间有换行符,只需用' \ n \ 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/上的工作示例。

答案 2 :(得分:0)

\ 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)); 

}