[英]How to split break line in javascript?
我对我的JavaScript有疑问。
我有从数据库中检索到的内容,如下所示:
lots of texts in line 1
lots of texts in line 2
lots of texts in line 3
lots of texts in line 4
我想创建一个数组,并基于折线创建元素。
我有类似的东西
var contents = obj.string //obj.string contains the contents above.
contents = contents.split(/(\r\n|\r|\n)/g)
它创建了4个以上的元素,因为某些元素只是一个“ breakline
”。
谁能帮我获得4个要素? 非常感谢!
这可能不是一个很好的解决方案,但是您可以通过用\\n
替换任何\\r
来清理字符串,然后修剪最后一个\\n
(这将为您提供一个不需要的空数组)。
参见示例:
var a = "a\nb\rc\n\n\n\n",
b = a.replace(/\r/g,"\n").replace(/[\n]+/g,"\n").replace(/\n$/,"").split("\n");
var a
输出:
"a
bc
"
var b
输出:
["a", "b", "c"]
清理过程如下:
\\r
替换为\\n
,这将在某些位置为您多个\\n
\\n
多个实例为奇数 \\n
,以免最后出现一个空数组元素 \\n
上的数组 您的问题隐含两个假设。 首先,我假设换行符可以用'\\r\\n'
, '\\n'
或'\\r'
。 其次,您要忽略结果中的空行。
我认为您可以通过首先将所有换行符转换为单个形式,然后在忽略空行的情况下进行拆分来实现两者,例如:
contents.replace(/(\r\n)|\r|\n/g, '\n').split(/\n+/g)
replace命令应该将所有不同的换行符都转换为'\\n'
,而split会在看到1个或多个连续的'\\n'
的地方对行进行分割。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.