我有一个看起来与此类似的字符串...
[1.2.1] - 08/30/2018
### Added
1. A new POPUP
[1.2.0] - 08/16/2018
### Added
1. Created a CHANGELOG
它将始终采用相似的格式,条目之间始终会有一个空行。我正在尝试做的是在空行上分割字符串。我正在尝试使用JS的.split()
方法,这就是我所拥有的;
MyString.split('/([\r\n]{2})/g');
这些是我得到的结果:
[[1.2.1] - 08/30/2018↵### Added↵1. Changes POPUP↵↵[1.2.0] - 08/16/2018↵### Added↵1. Created a CHANGELOG]
我期望的结果:
[[1.2.1] - 08/30/2018↵### Added↵1. Changes POPUP],
[[1.2.0] - 08/16/2018↵### Added↵1. Created a CHANGELOG]
不确定我在这里缺少什么。
-编辑
这是一个非常具体的问题,关于将单个字符串转换为文本块数组(以空行分割),而不是一般性的笼统问题:“为什么此正则表达式不起作用”
-编辑#2
在查看评论之后,我修改了使用MyString.split(/[\r\n]{5,}/)
的方法,并且不得不在条目之间添加2个额外的空行,
[1.2.1] - 08/30/2018
### Added
1. Changes POPUP
[1.2.0] - 08/16/2018
### Added
1. Created a CHANGELOG
为什么我必须使用{5}
而不是{4}
以获得我想要的结果?
-编辑#3
稍后重新审视此问题后,我能够获得所需的结果。
在这种情况下,解决方案是使用MyString.split(/[\r\n]{3,}/)
并重新格式化整个数据块,以使“版本”之间有两个空白行;
[1.2.1] - 08/30/2018
### Added
1. Popup to alert of new updates
2. Users now have a button to show closed quotes in addition to open quotes.
### Updates
1. Table now by default, hides closed quotes.
2. Refactored color key.
3. Refactored view control buttons.
[1.2.1] - 08/30/2018
### Added
1. Changes POPUP
[1.2.0] - 08/16/2018
### Added
1. Created a CHANGELOG
最终,数据结构的重新格式化导致了预期的结果。