在iOS中,可以使用NSString的rangeOfString:
方法來(lái)判斷一個(gè)字符串中是否包含另外一個(gè)字符串。該方法返回一個(gè)NSRange結(jié)構(gòu)體,如果找到了指定的子字符串,它會(huì)返回該子字符串在原字符串中的位置和長(zhǎng)度;如果沒(méi)有找到,它會(huì)返回一個(gè)特殊的NSRange結(jié)構(gòu)體,位置為NSNotFound。
示例代碼如下:
NSString *mainString = @"Hello, World!";
NSString *subString = @"World";
NSRange range = [mainString rangeOfString:subString];
if (range.location != NSNotFound) {
NSLog(@"字符串中包含指定的子字符串");
} else {
NSLog(@"字符串中不包含指定的子字符串");
}
上述代碼中,主字符串為"Hello, World!“,子字符串為"World”。rangeOfString:
方法返回的range結(jié)構(gòu)體中,location表示子字符串在主字符串中的起始位置,length表示子字符串的長(zhǎng)度。如果找不到子字符串,則location為NSNotFound。
注意,rangeOfString:
方法默認(rèn)區(qū)分大小寫(xiě),如果不區(qū)分大小寫(xiě),可以使用rangeOfString:options:
方法,并設(shè)置NSCaseInsensitiveSearch
選項(xiàng)。
另外,如果只需要判斷字符串是否以某個(gè)子字符串開(kāi)頭或結(jié)尾,可以使用hasPrefix:
和hasSuffix:
方法。
NSString *mainString = @"Hello, World!";
NSString *prefix = @"Hello";
NSString *suffix = @"World";
if ([mainString hasPrefix:prefix]) {
NSLog(@"字符串以指定的前綴開(kāi)頭");
} else {
NSLog(@"字符串不以指定的前綴開(kāi)頭");
}
if ([mainString hasSuffix:suffix]) {
NSLog(@"字符串以指定的后綴結(jié)尾");
} else {
NSLog(@"字符串不以指定的后綴結(jié)尾");
}
上述代碼中,hasPrefix:
方法用于判斷字符串是否以指定的前綴開(kāi)頭,hasSuffix:
方法用于判斷字符串是否以指定的后綴結(jié)尾。