如何在javascript中拆分换行符?
我有一个关于javascript的问题 我从数据库中检索到如下内容:如何在javascript中拆分换行符?,javascript,regex,split,Javascript,Regex,Split,我有一个关于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 contents.replace(/(\r\n)|\r|\n/g, '\n').split(/\n+/g) 我想创建一个数组并基于特征线创建元素 我有点像 var contents = obj.string //obj.strin
lots of texts in line 1
lots of texts in line 2
lots of texts in line 3
lots of texts in line 4
contents.replace(/(\r\n)|\r|\n/g, '\n').split(/\n+/g)
我想创建一个数组并基于特征线创建元素
我有点像
var contents = obj.string //obj.string contains the contents above.
contents = contents.split(/(\r\n|\r|\n)/g)
它创建了4个以上的元素,因为有些元素只是一条“特征线”
谁能帮我得到4个元素?非常感谢 这可能不是一个优雅的解决方案,但您可以通过将任何\r
替换为\n
来清理字符串,然后修剪最后一个\n
(这将为您提供一个不需要的空数组)
见示例:
var a = "a\nb\rc\n\n\n\n",
b = a.replace(/\r/g,"\n").replace(/[\n]+/g,"\n").replace(/\n$/,"").split("\n");
变量a的输出
:
"a
bc
"
变量b的输出:
["a", "b", "c"]
清理过程如下:
获取字符串并将所有\r
替换为\n
,这将在某些位置留下多个\n
将多个\n
实例清理到Singular
删除任何尾随的\n
,以避免末尾出现空数组元素
在\n
这可能不是一个优雅的解决方案,但您可以通过将任何\r
替换为\n
,然后修剪最后一个\n
(这将为您提供一个不需要的空数组)来清理字符串
见示例:
var a = "a\nb\rc\n\n\n\n",
b = a.replace(/\r/g,"\n").replace(/[\n]+/g,"\n").replace(/\n$/,"").split("\n");
变量a的输出
:
"a
bc
"
变量b的输出:
["a", "b", "c"]
清理过程如下:
获取字符串并将所有\r
替换为\n
,这将在某些位置留下多个\n
将多个\n
实例清理到Singular
删除任何尾随的\n
,以避免末尾出现空数组元素
在\n
你的问题隐含着两个假设。首先,我假设换行符可以由'\r\n'
、'\n'
或'\r'
指示。其次,您希望忽略结果中的空行
我认为您可以通过首先将所有换行符转换为单个形式,然后在忽略空行的情况下进行拆分来实现这两种方法,如下所示:
lots of texts in line 1
lots of texts in line 2
lots of texts in line 3
lots of texts in line 4
contents.replace(/(\r\n)|\r|\n/g, '\n').split(/\n+/g)
replace命令应将所有不同的换行符转换为'\n'
,而split将在看到一个或多个连续的'\n'
s的位置拆分该行。问题中隐含了两个假设。首先,我假设换行符可以由'\r\n'
、'\n'
或'\r'
指示。其次,您希望忽略结果中的空行
我认为您可以通过首先将所有换行符转换为单个形式,然后在忽略空行的情况下进行拆分来实现这两种方法,如下所示:
lots of texts in line 1
lots of texts in line 2
lots of texts in line 3
lots of texts in line 4
contents.replace(/(\r\n)|\r|\n/g, '\n').split(/\n+/g)
replace命令应将所有不同的换行符转换为'\n'
,而split将在看到一个或多个连续的'\n'
s的位置拆分该行。可能重复的内容,您可以循环元素并移除空元素(修剪后),那么您应该只剩下4个元素了。@bjb568不确定这是链接问题的副本吗?可能是副本无论如何,您可以通过元素循环并删除空元素(修剪后),那么您应该只剩下4个元素了。@bjb568不确定这是链接问题的副本吗?