一、iOS字符串替换
iOS提供了方便的字符串替换方法,具体实现如下:
NSString *str1 = @"This is a string.";
NSString *str2 = [str1 stringByReplacingOccurrencesOfString:@"string" withString:@"example"];
NSLog(@"%@", str2);
//输出 This is a example.
通过调用NSString类的stringByReplacingOccurrencesOfString方法,我们可以轻松地用另一个字符串替换目标字符串中的子字符串。
除了替换操作,还有另一种替换方法:
NSMutableString *str = [NSMutableString stringWithString:@"This is a string."];
[str replaceOccurrencesOfString:@"string" withString:@"example" options:NSLiteralSearch range:NSMakeRange(0, str.length)];
NSLog(@"%@", str);
//输出 This is a example.
这种方法需要用到NSMutableString类,因为它是可变的。
二、iOS字符串里插图片
iOS中的NSAttributedString类提供了将图片插入字符串中的方法。
步骤如下:
1.创建NSMutableAttributedString并添加文本。
NSMutableAttributedString *text = [[NSMutableAttributedString alloc] initWithString:@"This is a string with an image."];
2.创建图片。
NSTextAttachment *imageAttachment = [[NSTextAttachment alloc] init];
imageAttachment.image = [UIImage imageNamed:@"example.png"];
CGFloat width = image.size.width;
CGFloat height = image.size.height;
imageAttachment.bounds = CGRectMake(0, 0, width, height);
3.将图片附加到NSAttributedString中。
NSAttributedString *imageString = [NSAttributedString attributedStringWithAttachment:imageAttachment];
[text appendAttributedString:imageString];
通过以上步骤,我们就可以在字符串中插入图片。
三、iOS字符串分割
iOS中,我们可以通过 NSString的componentsSeparatedByString方法将一个字符串分割成多个子字符串。
NSString* str = @"This is a string";
NSArray* words = [str componentsSeparatedByString: @" "];
使用该方法,我们可以将'very long string 多个单词分割成为单独的字符串。
四、iOS字符串转大写
转换字符串为大写时使用uppercaseString方法。
NSString *str = @"this is a string";
NSString *upperStr = [str uppercaseString];
NSLog(@"%@", upperStr);
//输出 THIS IS A STRING
使用该方法,我们可以将所有字母转换为大写形式。
五、iOS字符串截取中间
在iOS中,字符串的截取比较便利,可以借助NSRange来实现。
NSString *str1 = @"This is a string.";
NSRange range = NSMakeRange(5, 2);
NSString *str2 = [str1 substringWithRange:range];
NSLog(@"%@", str2);
//输出 is
使用该方法,我们可以从字符串的指定位置开始,提取出指定长度的子字符串。
六、iOS字符串包含某个字符串
我们可以使用containsString方法来判断一个字符串是否包含另一个字符串。
NSString *str = @"This is a string.";
if ([str containsString:@"string"]) {
NSLog(@"Exist");
} else {
NSLog(@"Not exist");
}
// 输出 Exist
使用该方法,我们可以方便地检查一个字符串是否包含在另一个字符串中。
七、iOS字符串拼接优化
在iOS中,我们可以使用NSMutableString来进行字符串的拼接。为了提高程序性能,应该尽量减少NSMutableString的使用。下面是一个NSMutableString的例子,比较消耗内存:
NSMutableString *string = [[NSMutableString alloc] initWithCapacity:0];
for (NSInteger i = 1; i <= 100; i++) {
[string appendString:[NSString stringWithFormat:@"%ld", (long)i]];
}
优化后的方法:
NSMutableString *string = [[NSMutableString alloc] initWithCapacity:0];
for (NSInteger i = 1; i <= 100; i++) {
[string appendFormat:@"%ld", (long)i];
}
通过使用appendFormat方法,我们可以避免频繁地使用NSMutableString,并且能更有效地使用内存。