gpt4 book ai didi

javascript - 删除过多的空白行

转载 作者:行者123 更新时间:2023-12-03 02:02:01 24 4
gpt4 key购买 nike

这里尝试删除字符串中多余的空白行。

我试图理解为什么第二种方法不适用于包含空格的行。

Demo .

var string = `
foo



bar (there are whitespaced lines between bar and baz. I replaced them with dots)
....................
.......................
...........
baz
`;

// It works
string = string.replace(/^(\s*\n){2,}/gm, '\n');

// Why it doesn't work?
var EOL = string.match(/\r\n/gm) ? '\r\n' : '\n';
var regExp = new RegExp('^(\s*' + EOL + '){2,}', 'gm');
string = string.replace(regExp, EOL);

alert(string);

最佳答案

您的\s需要更改为\\s。只需放入 \ss 相同。

在字符串(用引号引起来)中,反斜杠具有特殊含义。例如,\n 是换行符。您可能听说过也可能没有听说过其他一些,例如\b\t\v。仅使少数已定义的特殊,并将不存在的 \s 视为实际的反斜杠和 s,这将是糟糕的语言设计选择,因为它会不一致,是错误的根源,而且不能面向 future 。这就是为什么当您想在字符串中包含反斜杠时,您可以将反斜杠转义为 \\

在第一个示例中,您使用 / 字符来分隔正则表达式。这不被视为受上述规则约束的字符串。

关于javascript - 删除过多的空白行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49966580/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com