如何从动作脚本中的给定字符串中检测并删除"\n"?

vee*_*er7 2 actionscript-3

我有以下代码,

public static function clearDelimeters(formattedString:String):String
{
    return formattedString.split("\n").join("").split("\t").join("");
}
Run Code Online (Sandbox Code Playgroud)

空格即"\ t"被删除,但新行"\n"未从formattedString中删除.

我甚至试过了

public static function clearDelimeters(formattedString:String):String
{
    var formattedStringChar:String = "";
    var originalString:String = "";
    var j:int = 0;
    while((formattedStringChar = formattedString.charAt(j)) != "")
    {
        if(formattedStringChar == "\t" || formattedStringChar == "\n")
        {
            j++;
        }
        else
        {
            originalString = originalString + formattedString;
        }
        j++;
    }
    return originalString;
}
Run Code Online (Sandbox Code Playgroud)

这也行不通.
预期的帮助是没有删除换行符分隔符的原因以及删除换行符的一些方法.
谢谢你的期待

jon*_*ham 12

在某些情况下,线端标记可能是:CRLF,CR,LF,LFCR.可能你的字符串包含行结尾的CRLF而不是LF(\n).因此,删除所有LF后,一些文本编辑器仍会将CR视为行尾字符.

试试这个:

//this function requires AS3
public static function clearDelimeters(formattedString:String):String {     
  return formattedString.replace(/[\u000d\u000a\u0008\u0020]+/g,""); 
}
Run Code Online (Sandbox Code Playgroud)

请注意\ t是用于标签,它不是空格.或者,如果您正在使用HTML,<br>和<br/>用于在HTML中创建换行符,但它们不是行尾字符.