如何檢測字串在Obj C裡是否為空?

2021-07-03 10:40:59 字數 1647 閱讀 1619

marc charbonneau

可以檢查是否[string length] == 0。這將檢查它是否是乙個有效但是為空的字串(@"")以及其是否為無值。因為呼叫無值的length也將返回0。

matt g

樓上的回答是正確的。但是我想藉此機會介紹一下wil shipley總結的isempty,他分享在blog上的:

static

inline

bool isempty(id thing)

第一種方法是有效地,但是如果字串有空格(@" ")的話就買不起作用了。所以必須在測試前清除空格。

下面的**能夠清除字串兩邊的所有空格

[stringobject stringbytrimmingcharactersinset:[nscharacterset whitespacecharacterset] ];
有個不錯的方法是定義乙個巨集,這樣你就不用輸入這一長串**了:

#define alltrim( object ) [object stringbytrimmingcharactersinset:[nscharacterset whitespacecharacterset] ]
現在你可以使用:

nsstring *emptystring = @"   ";

if ( [alltrim( emptystring ) length] == 0 ) nslog(@"is empty!");

rob

我見過的最好的解決方法之一(比matt g的更好)這種改進的內聯函式,我在git hub報告裡找到的:

// check if the "thing" pass'd is empty

static

inline

bool isempty(id thing)

user238824

你最好使用這個函式:

@implementation

nsstring (empty)

- (bool) empty

@end

chown

另乙個選擇是使用isequaltostring檢查是否等於@"",就像這樣:

if ([mystring isequaltostring:@""])  else
jim thio

我用的這個:

@implementation

nsobject (additionalmethod)

-(bool) isnotempty

;@end

問題是如果self無值, 這個功能就永遠不會被呼叫。它將返回false,這是所需的。

samir jwarchan

使用下面的if else條件之一就可以:

方法1:

if([yourstring isequaltostring:@""])

else

方法 2:

if([yourstring length] == 0)

else

JAVA檢測字串是否數值

一,開篇 對於 檢測字串是否數值 網上搜尋結果確實不少,基本思路都是使用正規表示式,基本上都是直接上 基本上好像都靠譜 但是談思路的不多。二,什麼樣的字串才是數值 總的來說,字串的字元只能存在於 正號 負號 小數點 0 9的數字,且 正號和負號只能出現在頭部且最多只能出現1次 小數點最多只能出現1次...

檢測字串

instanceof 用來檢測某乙個例項是否屬於這個類 constructor 利用原型構造器的方式檢測資料型別 object.prototype.tostring.call 借用內建類object原型上的tostring方法實現資料型別檢測console.log typeof typeof typ...

JavaScript檢測字串中是否有空格

第一種方法 isnan 使用js自帶全域性函式isnan isnan 返回乙個boolean值,如下 var c hello 字串 isnan c 返回乙個true var c 10 數字 isnan c 返回乙個false 如果以上c為乙個空串或是乙個空格,isnan將把c當作數字0來處理,所以檢...