Javascript 是否删除所有换行符,但仅删除一个换行符?
我有用户发送的带有特征线的以下文本Javascript 是否删除所有换行符,但仅删除一个换行符?,javascript,regex,Javascript,Regex,我有用户发送的带有特征线的以下文本 Text of example in line 1. (break line) (break line) (break line) The text is very nice... (break line) (break line) The end. 预期结果: Text of example in line 1. The text is very nice... The end. 不是:第1行中的示例文本。文本非常好。。。结束。 如何在JavaScrip
Text of example in line 1.
(break line)
(break line)
(break line)
The text is very nice...
(break line)
(break line)
The end.
预期结果:
Text of example in line 1.
The text is very nice...
The end.
不是:第1行中的示例文本。文本非常好。。。结束。
如何在JavaScript(str.replace
)中通过PHP中的AJAX接收
$text = strip_tags($text, '<br>');
$text=strip_标签($text,
);
谢谢你的回答!但是我测试了所有。。然后我看到我的DIV正在生成HTML代码,我相信这就是它不工作的原因(RegEx)。如何忽略HTML元素才能使用换行符生成文本?您可以使用正则表达式替换
str = str.replace(/\n{2,}/g, "\n");
{2,}
表示匹配前一个表达式中的2个或多个。因此,任何由2个或更多换行符组成的序列都将替换为一个换行符。尽管正确,但它不会在不同的操作系统/平台上工作
str = str.replace(/(\r\n?|\n){2,}/g, '$1');
不同的操作系统使用不同的字符组合用作换行符
\r\n
=CR LF\n
=LF\r
=CRstr = str.replace(/(\r\n?|\n){2,}/g, '$1');
说明:
()
:捕获组\r\n?
:可选地匹配\r
,后跟\n
。如此匹配
或\r\n
\r
|
:或正则表达式中的条件\n
:匹配\n
{2,}
:匹配前一个字符两次或多次g
:全局标志$1
:第一个捕获的组,即操作系统支持的单换行字符因为您要用相同的字符替换,所以只替换所有
str=str.replace(/\n+/g,“\n”)
@trex005这稍微有点效率,因为它不用麻烦自己替换一个换行符。你是对的,效率大大提高了:哇,我很惊讶在示例文本中没有单个换行符时会有这么大的差异。在HTML中,换行符是
。