## iOS中containsString和rangeOfString的区别小结
本文将对iOS中`containsString`和`rangeOfString`的两种方法进行详细对比,以便更好地理解和使用它们。
#### 1. containsString
##### 1.1 查找字符串是否包含“iOS”
```swift
NSString *str = @"我是iOS开发工程师";
if ([str containsString:@"iOS"]) {
NSLog(@"包含'iOS'");
} else {
NSLog(@"不包含'iOS'");
}
```
##### 1.2 `containsString`适用于iOS8系统,在iOS7及以下版本下会崩溃
由于`containsString`是iOS8新增的功能,因此在iOS7及以下版本的系统中无法使用。如果在这些版本的系统中尝试使用`containsString`,程序会崩溃。为了兼容这些低版本的系统,开发者需要使用`rangeOfString`方法代替。
##### 1.3 `containsString`功能简单单一
`containsString`方法只能判断一个字符串是否包含另一个字符串,功能相对简单。
#### 2. rangeOfString
##### 2.1 查找字符串中的“iOS”位置
```swift
NSString *str = @"我是iOS开发工程师";
NSRange range = [str rangeOfString:@"iOS"];
if (range.location != NSNotFound) {
NSLog(@"找到'iOS',位置为:%ld", (long)range.location);
} else {
NSLog(@"未找到'iOS'");
}
```
##### 2.2 `rangeOfString`功能复杂多样,可遍历整个字符串
与`containsString`相比,`rangeOfString`功能更为复杂,可以用于遍历整个字符串。例如,可以通过设置`options`参数来实现不同的匹配模式(如忽略大小写、只匹配前缀等)。同时,`rangeOfString`还可以获取到匹配到的子串的位置信息。