gpt4 book ai didi

javascript - 删除 RegExp 末尾的多余空格?

转载 作者:行者123 更新时间:2023-11-29 18:01:18 26 4
gpt4 key购买 nike

我正在使用这段代码来缩进一段文本。它工作正常,但它在末尾添加了空白。

public var indentPattern:RegExp = /([\t ]*)(.*)$/gm;
public function indent(input:String, indentAmount:String = "\t"):String {
if (input==null || input=="") return indentAmount;

var indentedText:String = input.replace(indentPattern, indentAmount + "$1$2");
return indentedText;
}

测试输入数据:

<style type="text/css">
html, body {
height:100%;
margin:0;
padding:0;
line-height:.8;
}

*, *:before, *:after {
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}

</style>

实际输出:

    <style type="text/css">     
html, body {
height:100%;
margin:0;
padding:0;
line-height:.8;
}

*, *:before, *:after {
-moz-box-sizing:border-box;
-webkit-box-sizing:border-box;
box-sizing:border-box;
}



</style>

注意:当我说末尾的空格时,制表符是在分号之后的行尾添加的。尝试突出显示页面上的文本以了解我在说什么。

最佳答案

问题是

([\t ]*)(.*)$

可以匹配一个空字符串。因此,在行尾匹配一个空字符串,并将 indentAmount 放在那里。将其更改为:

([\t ]*)(.+)$

See it in action

或者让匹配从每一行的开头开始:

^([\t ]*)(.*)$

See it in action

关于javascript - 删除 RegExp 末尾的多余空格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34761935/

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