2015-01-02 114 views
-1

我想比較一個字符串a1,並得到答案爲YES,如果a1包含@「」的任何排列。我怎樣才能做到這一點?我嘗試了以下,但它不起作用。比較一個字符串與@「」

NSString * a1; BOOL isequals =([a1 compare:@「」options:NSCaseInsensitiveSearch range:NSMakeRange(0,2)] == NSOrederedSame);}}

+3

什麼你我通過「@」「」的任何排列?怎麼能有一個空間的排列? – rdelmar

+0

@rdelmar它意味着該字符串可以包含任意數量的空格,它是從一個來自txt文件的字符串中獲得的一個子字符串,因此爲什麼是多個空格。 –

回答

-1
NSString *a1; 
NSRange range = [a1 rangeOfString:@" "]; 
if (range.location == NSNotFound) 
{ 
    //not equal 
} 

編輯:使用此人會更適合你的需求

BOOL isEqueal = (range.location != NSNotFound); 

希望這有助於。

+1

不要檢查長度。檢查範圍位置是否爲NSNotFound。 – rmaddy

+0

@rmaddy謝謝。你說得對,我解決了。 –

+0

順便說一句 - 我沒有投票,但你的更新答案出現倒退。使用'=='表示如果沒有找到空格字符,'if'語句將爲真。它應該是'BOOL isequals = range.location!= NSNotFound;'。 – rmaddy

-1
NSString *string; 
if ([string rangeOfString:@" "].location == NSNotFound) { 
    //Do your stuff 
} else { 
    //Do your stuff 
} 

的關鍵是注意到,rangeOfString:返回NSRange結構,並the documentation says它返回的結構{NSNotFound, 0}


如果你是在iOS 8或OS X優勝美地,你現在可以做:

NSString *string; 
if ([string containsString:@" "]) { 
    //Do your stuff 
} else { 
    //Do your stuff 
} 

+0

這可能無法工作。 「a1」的前兩個字符如何比較一個空格?爲什麼不區分大小寫比較空間字符?除此之外,根據OP的評論,目標是看看「a1」是否包含空格。 – rmaddy