【Object-C】nsstring 基本使用
前言
本博文主要是对nsstring 基本使用的一个介绍,以及记录,方便后续使用时候可以直接加载。
nsstring 基本介绍
在Objective-C中,NSString是一个用于处理字符串的类。它提供了许多功能和方法,以帮助您操作和处理字符串数据。
以下是NSString的一些基本介绍:
-
NSString是不可变的:这意味着一旦创建了一个NSString对象,就不能修改它的内容。如果您需要修改字符串,您可以使用NSMutableString类。
-
NSString可以包含任何Unicode字符:您可以在NSString中存储和操作各种字符,包括普通字符、特殊字符、表情符号等。
-
NSString可以通过使用@"字符串"语法进行创建:您可以使用@符号和双引号来创建一个NSString对象。例如,NSString *myString = @“Hello World!”;
-
NSString可以进行常见的字符串操作:NSString类提供了很多方法来处理字符串,包括拼接、替换、查找、截取等。您可以使用这些方法来操作和处理字符串数据。
-
NSString是基于Unicode的:NSString使用Unicode编码来存储和表示字符串数据。这意味着它可以支持各种语言和字符集。
-
NSString具有可选的编码选项:在创建NSString对象时,您可以选择指定字符串的编码选项,以确保正确表示和处理特定的字符集。
-
NSString可以进行格式化:NSString提供了格式化字符串的功能,您可以使用类似于printf函数的语法来创建格式化的字符串。
总之,NSString类是Objective-C中处理字符串的基本工具。它提供了许多有用的方法和功能,可以帮助您处理和操作字符串数据。
字符串比较
isEqualToString方法比较
NSString *stingOne = @"This is an iOSDevTip!";
NSString *stringTwo = @"This is an iOSDevTip!";
BOOL result = [stingOne isEqualToString:stringTwo];
compare方法比较(comparer返回的三种值)
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"This is a String!";
//NSOrderedSame判断两者内容是否相同
BOOL result = [astring01 compare:astring02] == NSOrderedSame;
//NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)
BOOL result = [astring01 compare:astring02] == NSOrderedAscending;
//NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)
BOOL result = [astring01 compare:astring02] == NSOrderedDescending;
不考虑大小写比较字符串
NSString *astring01 = @"this is a String!";
NSString *astring02 = @"This is a String!";
BOOL result = [astring01 caseInsensitiveCompare:astring02] == NSOrderedSame; //NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,相同为真)
BOOL result = [astring01 compare:astring02
options:NSCaseInsensitiveSearch | NSNumericSearch] == NSOrderedSame; //NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写 NSNumericSearch:比较字符串的字符个数,而不是字符值。
NSLog(@"result:%d",result);
字符串大小写转换
NSString *string = @"This is an iOSDevTip!";
//小写转大写
[string lowercaseString];
//大写转小写
[string uppercaseString];
//首字母大写
[string capitalizedString];
截取字符串
NSString *string = @"This is a operation string!";
//This i
NSString *subToString = [string substringToIndex:6];
//s a operation string!
NSString *subFromString = [string substringFromIndex:6];
//s a
NSString *rangeString = [string substringWithRange:NSMakeRange(6, 3)];
判断是否包含字符串
判断是否包含字符串
NSString *string1 = @"This is a iOSDevTip";
NSString *string2 = @"iOSDevTip";
NSRange range = [string1 rangeOfString:string2];
NSInteger location = range.location;
if(location!=NSNotFound){
//Location:10,Leight:9
NSInteger leight = range.length;
}else {
}
判断是否包含前后缀
NSString *string = @"I love China";
BOOL isHasI = [string hasPrefix:@"I"];
BOOL isHasChina = [string hasSuffix:@"China"];
分割字符串
NSString *string = @"This is a iOSDevTip";
NSArray *array = [string componentsSeparatedByString:@"a"];
//This is
NSString *string1 = [array objectAtIndex:0];
// iOSDevTip
NSString *string2 = [array objectAtIndex:1];
插入字符串
插入字符串
NSMutableString *string = [[NSMutableString alloc] initWithString:@"I China"];
//I Love China
[string insertString:@"Love " atIndex:2];
NSLog(@"string: %@",string);
追加字符串
NSMutableString *string = [[NSMutableString alloc] initWithString:@"I Love "];
[string appendString:@"China"];
NSLog(@"string:%@",string);
删除字符串
NSMutableString *string = [[NSMutableString alloc] initWithString:@"I love China"];
//I China
[string deleteCharactersInRange:NSMakeRange(2, 4)];
替换字符串
NSString *string = @"I love China";
//I like China
NSString *replaceString = [string stringByReplacingOccurrencesOfString:@"love" withString:@"like"];
去除字符串首尾的空格和换行符
NSString *string = @" I love China ";
//I love China
NSString *text = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];