【问题标题】:trimming strings with actionscript 3使用 actionscript 3 修剪字符串
【发布时间】:2011-02-23 23:52:33
【问题描述】:

我正在尝试从字符串的开头和结尾修剪空格。看起来 as3 没有修剪功能。任何人都知道如何做到这一点?

【问题讨论】:

  • 奇怪的是,我在谷歌搜索时进入了这个页面;)
  • 我不喜欢这种在 SO 上越来越多的“只是 google it”态度。在随机博客中搜寻信息的 sn-ps 与从诸如 SO 之类的编程资源中获得集体帮助不同 - SO 的设计使出色的答案基于许多人的意见而浮出水面,而不仅仅是一个博主。
  • @Chris 和 Hendy,我也是从 Google 来到这里的。

标签: apache-flex actionscript-3 adobe


【解决方案1】:

试试这个

str = StringUtil.trim(str);

【讨论】:

    【解决方案2】:

    ItzWarty 的解决方案不会删除尾随空格。

    Amargosh 的解决方案对我来说非常有效,并且在 http://jeffchannell.com/ActionScript-3/as3-trim.html 上也有提供。

    很遗憾,我没有足够的声望来支持 Amargosh 的解决方案。

    此外,我必须删除双引号,所以这是我的修剪:

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

    【讨论】:

      【解决方案3】:

      您在实用程序类中有一个名为 trim 的方法,名为 StringUtil => http://livedocs.adobe.com/flex/3/langref/mx/utils/StringUtil.html#trim%28%29

      【讨论】:

        【解决方案4】:
        str = str.replace(/^\s+|\s+$/g, '');
        

        【讨论】:

          【解决方案5】:

          您是否查看了 Adob​​e 的文档? 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。 -.-

          【讨论】:

            【解决方案6】:

            您应该能够使用正则表达式,例如:

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

            【讨论】:

              【解决方案7】:

              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/ 有大量的字符串实用函数,包括字符串修剪

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多