正则表达式删除Javascript中的空格,空行和最后一行换行符

时间:2015-07-14 16:53:21

标签: javascript regex

好的伙计们,我在使用正则表达式时遇到了困难。

这就是我需要的...获取文本文件,删除所有空白行和这些行的开头和结尾处的空格,要删除的空白行还包括一个可能的空行末尾该文件(整个文本末尾的\ n \ n)

所以我的剧本是:

quotes.replace(/^\s*[\r\n]/gm, "");

这取代相当不错,但在每行的末尾留下一个空格,并且不会删除最后的换行符。

所以我想用这样的东西:

quotes.replace(/^\s*[\r\n]/gm, "").replace(/^\n$/, "");

第二个"替换"如果存在,将从整个字符串中删除最后的\ n ..但它不起作用..

所以我尝试了这个:

quotes.replace(/^\s*|\s*$|\n\n+/gm, "")

删除换行符但在中间有换行符时连接一些行:

这样 1
2
3

4个

将返回以下行:

[" 1"," 2"," 34"]

你们可以帮助我吗?

2 个答案:

答案 0 :(得分:8)

因为听起来你必须在一个正则表达式中完成所有这些,所以试试这个:

line, = ax.plot([x], [y], z, 'ro')

我们正在做的是创建一个不会捕获任何内容的组,但会阻止换行本身被消耗掉。

答案 1 :(得分:0)

拆分,替换,过滤:

quotes.split('\n')
    .map(function(s) { return s.replace(/^\s*|\s*$/g, ""); })
    .filter(function(x) { return x; });

输入值为" hello \n\nfoo \n bar\nworld \n", 输出为["hello", "foo", "bar", "world"]