2012-02-18 14 views

回答

29

你可以简单地做:

if(string) 
{ 
    // String isn't null and has a length > 0 
} 
else 
{ 
    // String is null or has a 0 length 
} 

这工作,因为字符串被强制使用these rules一个布尔值:

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

+1

不知道为什么这已经向下投? – 2012-02-18 10:14:50

+0

我也是:S,为了不创造不必要的字符串,而不是与“”进行比较是重要的 – 2012-02-18 10:26:39

+0

确实有效。看看段落**转换为布尔**这里http://help.adobe.com/en_US/as3/learn/WS5b3ccc516d4fbf351e63e3d118a9b90204-7f9c.html#WS5b3ccc516d4fbf351e63e3d118a9b90204-7f87 – sch 2012-02-18 10:42:06

3

您可以使用length但这是一个正常的属性不是一个静态属性。你可以在这里找到类String的所有属性。如果长度为0,则该字符串为空。所以,你可以做你的测试,如果你想有一个null字符串和一个空的区分如下:

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

或者你可以使用Richie_W的解决方案,如果你不需要空和空字符串之间的区别。

+0

谢谢,实际上我只需要检查是否为空或空 – 2012-02-18 11:04:18

2

下面将捕获所有这些:
1.空
2.空字符串
3.空白仅串

import mx.util.StringUtil; 

var str:String 

if(!StringUtil.trim(str)){ 
    ... 
} 
相关问题