OC NSString 字符串操作详细解析

来源:互联网 发布:win10提速 优化 编辑:程序博客网 时间:2024/05/22 02:11

在iOS开发中NSString被广泛的使用,系统中为NSString提供了很多实用的方法。具体如下:

  • 字符串大小写转换
//@property (readonly, copy) NSString *uppercaseString; 字符串全部转为大写//@property (readonly, copy) NSString *lowercaseString; 字符串全部转为小写 //@property (readonly, copy) NSString *capitalizedString;首字母大写其他转为小写 NSString *string = @"abcdef"; NSString *str = [string uppercaseString];//str = ABCDEF NSString *str1 = [str lowercaseString];//str1 = abcdef NSString *str2 = [string capitalizedString];//str2 = Abcdef//- (BOOL)isEqualToString:(NSString *)aString;        NSString *str1 = @"abcdef";        NSString *str2 = [NSString stringWithFormat:@"abcdef"];        if ([str1 isEqualToString:str2])//比较的是内容        {            NSLog(@"两个字符串的内容一样");        }        if (str1  == str2)//比较的是地址 (这两个字符串地址不一样)        {            NSLog(@"两个字符串的地址一样");        }
  • 字符串内容比较
//- (NSComparisonResult)compare:(NSString *)string;大小写会区分比较//- (NSComparisonResult)caseInsensitiveCompare:(NSString *)string; 忽略大小写比较        NSString *str1 = @"abcdef";        NSString *str2 = @"abdcef";        switch ([str1 compare:str2])        {            case NSOrderedDescending:            {                NSLog(@"str1大于str2");//输出结果 c > d比较每个的ASCII值            }                break;            case NSOrderedSame:            {                NSLog(@"str1等于str2");            }                break;            case NSOrderedAscending:            {                NSLog(@"str1大于str2");            }                break;            default:                break;        }
  • 字符串搜索
        //- (BOOL)hasPrefix:(NSString *)str;判断是否以str开头        //- (BOOL)hasSuffix:(NSString *)str;判断是否以str结尾        //- (NSRange)rangeOfString:(NSString *)searchString;判断字符串中是否包含searchString        NSString *str1 = @"abcdef";        if ([str1 hasPrefix:@"a"])        {            NSLog(@"str1 以a开头");        }        if ([str1 hasSuffix:@"f"])        {            NSLog(@"str1 以f结尾");        }        if ([str1 rangeOfString:@"bc"].location != NSNotFound)        {            NSLog(@"str1 包含abc  包含开始位置%lu 长度%lu", (unsigned long)[str1 rangeOfString:@"bc"].location, (unsigned long)[str1 rangeOfString:@"bc"].length);//包含开始位置1 长度2        }
  • 字符串的截取
        //- (NSString *)substringFromIndex:(NSUInteger)from;从from的位置开始截取到最后        //- (NSString *)substringToIndex:(NSUInteger)to;从字符串的开头截取到to的位置        //- (NSString *)substringWithRange:(NSRange)range;        NSString *string = @"abcdefgh";        string = [string substringFromIndex:2];        NSLog(@"%@", string);//cdefgh        string = @"abcdefgh";        string = [string substringToIndex:2];        NSLog(@"%@", string);//ab        //从头开始截取2个,输出余下的3个        string = @"abcdefgh";        NSRange rang ={2, 3};        string = [string substringWithRange:rang];        NSLog(@"%@", string);//cde
  • 字符串的替换、拼接、删除、插入和转换
 - 字符串的替换 //- (NSString *)stringByReplacingOccurrencesOfString:(NSString *)target withString:(NSString *)replacement 将字符串中的target字符用replacement替换NSString *string = @"abcd---efgh";string = [string stringByReplacingOccurrencesOfString:@"-" withString:@"*"];NSLog(@"string %@", string);//string abcd***efghNSRange rang = NSMakeRange(4,3);NSString *string = @"abcd---efgh";string = [string stringByReplacingCharactersInRange:rang withString:@"*"];NSLog(@"string %@", string);//string abcd*efgh - NSString类型的替换//+ (instancetype)stringWithFormat:(NSString *)formatNSString *str1 = @"apple";NSString *str2 = @"orange";NSString *str3 = [NSString stringWithFormat:@"%@,%@", str1, str2];//需不需要逗号看需求NSLog(@"%@", str3);//apple,orange//- (NSString *)stringByAppendingString:(NSString *)aString;将aString拼接到字符串后面 没有逗号str3 = [str3 stringByAppendingString:str2];NSLog(@"%@", str3);//apple,orangeorange//- (NSString *)stringByAppendingFormat:(NSString *)format;将format拼接到字符串后面 format中的具体格式可以自己设置str3 = [str3 stringByAppendingFormat:@"%@%@", str1, str2];//需不需要逗号看需求NSLog(@"%@", str3);//apple,orangeorangeappleorange - NSMutableString的替换//- (void)appendString:(NSString *)aString;//- (void)appendFormat:(NSString *)format;NSMutableString *string = [[NSMutableString alloc] init];NSString *str1 = @"AAA";NSString *str2 = @"BBB";[string appendString:@"orange"];[string appendString:@"apple"];NSLog(@"string %@", string);//string orangeapple[string appendFormat:@"%@%@", str1, str2];NSLog(@"string%@", string);//stringorangeappleAAABBB//- (void)setString:(NSString *)aString;将字符串替换成aString[string setString:@"AAA"];NSLog(@"string %@", string);//string AAA - NSMutableString的删除 -  NSMutableString *string = [[NSMutableString alloc] init];[string appendString:@"abcdefghijk"];NSLog(@"string %@", string);//- (void)deleteCharactersInRange:(NSRange)range;将字符串的range范围内的字符串全部删除NSRange range = NSMakeRange(2, 3);[string deleteCharactersInRange:range];NSLog(@"string %@", string); - NSMutableString的插入NSMutableString *string = [[NSMutableString alloc] init];[string appendString:@"abcdefghijk"];NSLog(@"string %@", string);//string abcdefghijk//- (void)insertString:(NSString *)aString atIndex:(NSUInteger)loc;从字符串的loc位置后插入aString[string insertString:@"AAA" atIndex:4];NSLog(@"string %@", string);//string abcdAAAefghijk - NSMutableString的转换NSMutableString *string = [[NSMutableString alloc] init];[string appendString:@"abcdefghijk"];NSLog(@"string %@", string);//string abcdefghijk//- (void)replaceCharactersInRange:(NSRange)range withString:(NSString *)aString; 将字符串range范围内的字符串替换成aString        NSRange range = NSMakeRange(2, 3);[string replaceCharactersInRange:range withString:@"***"];NSLog(@"string %@", string);//string ab***fghijk
1 0
原创粉丝点击