Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否删除所有换行符,但仅删除一个换行符?_Javascript_Regex - Fatal编程技术网

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');
不同的操作系统使用不同的字符组合用作换行符

  • Windows:
    \r\n
    =CR LF
  • Unix/Linux:
    \n
    =LF
  • Mac:
    \r
    =CR
  • 我建议使用下面的正则表达式,它可以跨平台工作

    str = 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中,换行符是