在字符串中檢索字符串是否存在:從“Qt QString::contains()”到”iOS objective-c NSRange結構的.location”



Qt

 函數QString::startsWith()判斷一個字符串是否以某個字符串開頭。此函數具有 兩個參數,第一個參數指定了一個字符串,第二個參數指定是否大小寫敏感(默 認情況下,是大小寫敏感的),例如:

QString str="Welcome to you! ";
str.startsWith("Welcome",Qt::CaseSensitive); //返回true; 
str.startsWith("you",Qt::CaseSensitive); //返回false;

函數QString::contains()判斷一個指定的字符串是否出現過,例如:

QString str=" Welcome to you! ";
str.contains("Welcome",Qt::CaseSensitive); //返回true;


objective-c:


如果你要查找的字符串()在一個目標字符串(草垛),NSRange結構的location成員將被置為從零開始的索引用來表示第一個針在草垛中的位置。如果草垛中不包含針,location值會給設為NSNotFound。我們來看這個例子:

NSString *haystack = @"My Simple String"; 
NSString *needle = @"Simple";
NSRange range = [haystack rangeOfString:needle]; 
if (range.location == NSNotFound) {
/* Could NOT find needle in haystack */
}
 else {
/* Found the needle in the haystack */ 
NSLog(@"Found %@ in %@ at location %lu", needle,
haystack,(unsigned long)range.location); 
}

NSRange range = [haystack rangeOfString:needle];可換為

NSRange range = [haystack rangeOfString:needle options:NSCaseInsensitiveSearch]; 


其中:

NSCaseInsensitiveSearch:不區分大小寫比較 

NSLiteralSearch:進行完全比較,區分大小寫 

NSNumericSearch:比較字符串的字符個數,而不是字符值。

Tips:用來查詢的 NSString類的rangeOfString方法默認是大小寫敏感的。

現將NSString *needle = @"Simple"改為

NSString *needle = @"simple",即s改為小寫,進行驗證,運行結果如下。





(NSRange location擴展閱讀:http://blog.csdn.net/grass_dcm/article/details/7896862)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM