AS3保留空白行,但在换行之前删除前导空格

时间:2018-02-20 06:21:28

标签: regex actionscript-3

实际值:

 A new line begins

     Another line begins
       Here's another

预期:

A new line begins

Another line begins
Here's another

到目前为止,我已经尝试过这样,它会在换行之前删除所有前导空格:

var regex:RegExp = /(\r?\n|\r)+(\s+|\s+$)/g;
var newText:String = abcd.replace(regex, "\n");
Alert.show(StringUtil.trim(newText));

但是我很难设置一个条件来保留空白行。

1 个答案:

答案 0 :(得分:2)

一个简单的选择是匹配和删除行开头的空格,而不是新行:

var regex:RegExp = /^[ \t]+/gm;
var newText:String = abcd.replace(regex, "");
  • 使用/m(多行)标记,因此^匹配每行的开头。
  • 仅匹配空格和制表符,而不是换行符。
  • 只需删除它们即可。
  • 这也将从仅空格线中删除空格。如果这是一个问题,您可以使用^[ \t]+(?=\S)

工作示例:https://regex101.com/r/gdMZLZ/2