2

私は次のコードを持っています、

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

スペース、つまり「\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;
}

これもうまくいきませんでした。
期待されるヘルプは、改行区切りが削除されない理由と、改行を削除する何らかの方法です。
楽しみにありがとう

4

4 に答える 4

13

行末マーキングが CRLF、CR、LF、LFCR の場合があります。文字列には、行末に LF (\n) だけでなく CRLF が含まれている可能性があります。そのため、すべての LF を削除しても、一部のテキスト エディターは引き続き CR を行末文字として扱います。

代わりにこれを試してください:

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

\t はタブ用であり、スペースではありません。または、HTML を使用している場合、<br> と <br/> は HTML で改行を作成するために使用されますが、これらは改行文字ではありません。

于 2012-05-14T10:18:45.730 に答える
2

正規表現の答えは正しいですが、私は常にそれのより読みやすいバージョンが好きです(ただし、パフォーマンスでどのように機能するかはわかりません)

result = string.split("\n\r").join("");

または、\n と \r を別々に分割します。\n\r は、すべてのオペレーティング システムに共通の標準です。ウィキペディアをチェックして、それらが結合されている理由を確認してください((CR+LF, '\r\n', 0x0D0A))。

http://en.wikipedia.org/wiki/Newline#Representations

于 2012-05-14T11:20:48.943 に答える
0
// try this. it works for me!!! Wink-;^D
function removeNewLinesFrom(This){
nl='' + newline;
removed=''
for(i=0;i<=(This.length-1);i++){
if(This.charAt(i)!=nl){removed+=This.charAt(i)}
}
return(removed)
}
// Simplify the name of the function
rnlf=removeNewLinesFrom
// Wright a example
example='hello '+newline+'world'
// prompt the example
trace('prompt='+rnlf(example))
于 2016-11-08T05:32:04.733 に答える
0

あなたはそれがではないことを確信していますか

<br>

また

</br>?

また

/r
于 2012-05-14T10:08:25.697 に答える