Beyaz boşlukları bir dizenin önünden ve sonuna kadar kırpmaya çalışıyorum. As3'ün bir trim işlevi olmadığı anlaşılıyor. Nasıl yapılabileceğinin farkında olan var mı?Düzeltme dizelerini actionscript ile düzeltme 3
cevap
Bak http://jeffchannell.com/ActionScript-3/as3-trim.html
function trim(s:String):String
{
return s.replace(/^([\s|\t|\n]+)?(.*)([\s|\t|\n]+)?$/gm, "$2");
}
http://www.designscripting.com/2008/11/string-utils-in-as3/ de dize dahil dize yarar fonksiyonları bir ton var Döşeme
Sen normal ifadeler kullanabilirsiniz gerekir, gibi bir şey:
var pattern:RegExp = /(\t|\n|\s{2,})/g;
trimmedString = untrimmedString.replace(pattern, '');
Öyle mi Adobe'nin Belgelerini kontrol et? 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'
}
}
}
sınıf 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);
}
}
GÜNCELLEME: Ah sadece ItzWarty gördü.
str = str.replace(/^\s+|\s+$/g, '');
-.- için StringUtil =>http://livedocs.adobe.com/flex/3/langref/mx/utils/StringUtil.html#trim%28%29
ItzWarty çözeltisi sonunda boşluk kaldırmaz adlandırılan yardımcı sınıfında Döşeme denir bir yöntem vardır.
Amargosh'un çözümü benim için mükemmel çalışıyor ve http://jeffchannell.com/ActionScript-3/as3-trim.html numaralı telefondan da veriliyor.
Talihsizce Amargosh'un çözümünü oylamaya yetecek kadar ünüm yok. Ben googling ederken bu sayfayı var
function trim(s:String):String
{
return s.replace(/^[\s|"]+|[\s|"]+$/gs, '');
}
İlginç bu
str = StringUtil.trim(str);
deneyin;) –
Bunun bir hayranı değilim:
Ayrıca ben işte benim süs var doublequotes kaldırmak zorunda SO’da giderek daha fazla yer alan 'sadece google it' tavrı. Bilgi parçacıkları için rastgele bloglar arasında dolaşmak, SO - SO gibi bir programlama kaynağından toplu yardım almakla aynı şey değildir, sadece bir blog yazarı değil, birçok kişinin düşüncelerine dayanarak çok iyi cevaplar toplanır. – Chris@ Chris ve Hendy, Google'dan da buraya geldim. – BajaBob