2011-10-04 80 views
0

NSString *str0 = @"stackoverflow";如何比較字符串位置?

NSString *str1 = @"stackovarflow"*

NSString *str2 = @"stackoverflowing"*

我想STR0並且str1等相比等於位置。

STR0 isEqualToLocation:STR1結果爲5(起始索引0)或6(起始索引1)

STR1 isEqualToLocation:STR2結果爲12(開始索引0)或13(起始索引1)

如果不是equalToString則返回-1 -1

如何知道匹配字符串的位置?

回答

1

使用for循環(注意這是psuedocode不是objective-c)我認爲這是你想要的。如果是的話不應該str0 str1返回6不是5

int compare(char* str0, char* str1) { 
    //as per your last request although i'd return 0 if it were me 
    if (str0[0] != str1[0]) { return -1 } 
    for (int i = 0; i < Min(len(str1), len(str2)) { 
     if (str0[i] != str1[i]) { 
      return i-1; 
     } 
    } 
    return Min(len(str1), len(str2)) 
} 
+0

謝謝...我正確的位置5至6我錯了^^; 我是否需要將NSString轉換爲cString?純粹的NSString是不可能的? –