在ActionScript中检查字符串是否为空,类似于.NET中的String.Empty。

10

在Action中是否有类似于.net中String对象的静态属性来检查字符串是否为空,即String.Empty。

谢谢

3个回答

33
您可以简单地执行以下操作:
if(string) 
{
    // String isn't null and has a length > 0
}
else
{
   // String is null or has a 0 length
}

这是因为使用这些规则将字符串强制转换为布尔值:

字符串 -> 布尔值 = "如果值为 null 或空字符串 ( "" ),则为 false;否则为 true。"


我也是 :S,重要的是不要与“”进行比较,以免创建不必要的字符串。 - Hassan Mokdad
这确实有效。请查看此处的“转换为布尔值”段落http://help.adobe.com/en_US/as3/learn/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9c.html#WS5b3ccc516d4fbf351e63e3d118a9b90204-7f87 - sch
太棒了!最优雅的解决方案 :) - Learner

5
以下内容可以捕获所有这些情况:
  1. NULL(空值)
  2. 空字符串
  3. 仅由空格组成的字符串

import mx.utils.StringUtil;

var str:String

if(!StringUtil.trim(str)){
   ...
}

它并没有完全回答这个问题,但仍然很有用。 - Florian F

4

您可以使用length属性,但这是一个普通属性而不是静态属性。您可以在此处找到类String的所有属性。如果长度为0,则字符串为空。因此,如果您想区分null字符串和空字符串,则可以按照以下方式进行测试:

if (!myString) {
   // string is null
} else if (!myString.length) {
   // string is empty
} else {
   // string is not empty
}

如果您不需要区分空字符串和null字符串,您可以使用Richie_W的解决方案。

谢谢,实际上我只需要检查是否为空或null。 - Hassan Mokdad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接