2010-05-26 2 views
15

문자열의 앞과 끝에서 공백을 제거하려고합니다. as3처럼 트림 기능이없는 것 같습니다. 그것이 어떻게 행해질 수 있는지를 아는 누군가?문자열을 actionscript로 트리밍 3

+10

를보십시오) –

+11

나는이의 팬이 아니에요 :

는 또한 그래서 여기 내 트림의 쌍 따옴표를 제거했다 전체적으로 'google it'태도가 점점 더 많이 일어나고 있습니다. 정보 스 니펫 (snippet)에 대한 무작위 블로그를 통한 트래킹은 SO ​​- SO와 같은 프로그래밍 리소스로부터 집단적 도움을 얻는 것과 같지 않습니다. 따라서 블로거 하나뿐 아니라 많은 사람들의 의견을 바탕으로 최고의 답변이 설계되었습니다. – Chris

+1

@Chris and Hendy, 나는 또한 Google에서 왔습니다. – BajaBob

답변

1

당신은 정규식을 사용할 수 있어야 뭔가 같은 :

var pattern:RegExp = /(\t|\n|\s{2,})/g; 
trimmedString = untrimmedString.replace(pattern, ''); 
3

가나요 Adobe의 설명서를 확인하십시오. http://www.adobe.com/livedocs/flash/9.0/ActionScriptLangRefV3/String.html

package { 
import flash.display.Sprite; 

public class StringExample extends Sprite { 
    public function StringExample() { 
     var companyStr:String = new String("  Company X"); 
     var productStr:String = "Product Z Basic  "; 
     var emptyStr:String = " "; 
     var strHelper:StringHelper = new StringHelper(); 

     var companyProductStr:String = companyStr + emptyStr + productStr; 
     trace("'" + companyProductStr + "'"); // '  Company X Product Z Basic  ' 

     companyProductStr = strHelper.replace(companyProductStr, "Basic", "Professional"); 
     trace("'" + companyProductStr + "'"); // '  Company X Product Z Professional  ' 

     companyProductStr = strHelper.trim(companyProductStr, emptyStr); 
     trace("'" + companyProductStr + "'"); // 'Company X Product Z Professional' 
    } 
} 

}

클래스 StringHelper {

public function StringHelper() { 
} 

public function replace(str:String, oldSubStr:String, newSubStr:String):String { 
    return str.split(oldSubStr).join(newSubStr); 
} 

public function trim(str:String, char:String):String { 
    return trimBack(trimFront(str, char), char); 
} 

public function trimFront(str:String, char:String):String { 
    char = stringToCharacter(char); 
    if (str.charAt(0) == char) { 
     str = trimFront(str.substring(1), char); 
    } 
    return str; 
} 

public function trimBack(str:String, char:String):String { 
    char = stringToCharacter(char); 
    if (str.charAt(str.length - 1) == char) { 
     str = trimBack(str.substring(0, str.length - 1), char); 
    } 
    return str; 
} 

public function stringToCharacter(str:String):String { 
    if (str.length == 1) { 
     return str; 
    } 
    return str.slice(0, 1); 
} 

}

UPDATE : 아 다만 ItzWarty을 보았다.

6
str = str.replace(/^\s+|\s+$/g, ''); 
1

ItzWarty의 솔루션은 후행 공백을 제거하지 않습니다라는 유틸리티 클래스 트림라고하는 방법이있다.

Amargosh의 솔루션은 완벽하게 작동하며, http://jeffchannell.com/ActionScript-3/as3-trim.html으로도 제공됩니다.

불행히도 나는 Amargosh의 솔루션에 투표하기에 충분한 명성이 없습니다. 제가 인터넷 검색을하는 동안이 페이지에 도착,

function trim(s:String):String 
{ 
    return s.replace(/^[\s|"]+|[\s|"]+$/gs, ''); 
} 
2

호기심이

str = StringUtil.trim(str); 
관련 문제