AS3 保留空行但在换行后删除单词前的前导空格

AS3 keep blank lines but remove leading spaces before word after line breaks

实际:

 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));

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

一个简单的选项是只匹配和删除行首的空格,而不是换行符:

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

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