2010-05-26 17 views
15

के साथ तारों को ट्रिम करना मैं एक स्ट्रिंग के सामने और अंत से सफेद रिक्त स्थान को ट्रिम करने की कोशिश कर रहा हूं। ऐसा लगता है कि as3 में ट्रिम फ़ंक्शन नहीं है। किसी को भी पता है कि यह कैसे किया जा सकता है?एक्शनस्क्रिप्ट 3

+10

प्रयास करें, मैं जबकि googling इस पेज को मिला;) –

+11

मैं इस का एक प्रशंसक नहीं हूँ पूरे 'बस इसे Google' रवैया जो SO पर अधिक से अधिक हो रहा है। जानकारी के स्निपेट के लिए यादृच्छिक ब्लॉग के माध्यम से ट्रॉलिंग एक प्रोग्रामिंग संसाधन जैसे सामूहिक सहायता प्राप्त करने जैसा नहीं है जैसे SO - SO को बहुत सारे उत्तरों की राय के आधार पर शीर्ष पर तैरते हैं, न सिर्फ एक ब्लॉगर। – Chris

+1

@ क्रिस और हेन्डी, मैं यहां Google से भी मिला हूं। – BajaBob

उत्तर

1

आप regex का उपयोग करने के लिए सक्षम होना चाहिए, कुछ की तरह:

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

आप क्या एडोब के दस्तावेज़ीकरण की जांच करें? 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); 
} 

}

अद्यतन: ओह बस ItzWarty देखा। -.-

1

ItzWarty के समाधान स्पेस अनुगामी को दूर नहीं करता है।

अमर्गोश का समाधान मेरे लिए पूरी तरह से काम करता है, और http://jeffchannell.com/ActionScript-3/as3-trim.html पर भी दिया जाता है।

दुर्भाग्यवश मेरे पास अमरगोश के समाधान को वोट देने के लिए पर्याप्त प्रतिष्ठा नहीं है।

इसके अतिरिक्त मैं doublequotes को दूर करने के लिए किया था इसलिए यहाँ मेरी ट्रिम है:

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

मजे की बात यह

str = StringUtil.trim(str); 
संबंधित मुद्दे