字符串拼接
1.直接拼接 - 在尾部拼接
- (NSString*)stringByAppendingString:(NSString *)aString;
NSString *string6 = [string stringByAppendingString:string3];
2.格式化字符串 - 按照你想要的格式生成新字符串
+ (instancetype)stringWithFormat:(NSString *)format, … NS_FORMAT_FUNCTION(1,2);
NSString *string1 = [NSString stringWithFormat:@"applezc"];
//输出 string1 :applezc
NSString *string2 = [NSString stringWithFormat:@"A string: %@, a float: %1.2f",@"string", 31415.9265];
//输出 string2 :A string: string, a float: 31415.93
字符串拷贝
1.直接拷贝
+ (instancetype)stringWithString:(NSString *)string;
NSString *string2 = [NSString stringWithString:string1];
字符串长度
@property (readonly) NSUInteger length;
@property (readonly) NSUInteger length;
字符串替换
1.字符串中出现的字符全部替换
-(NSString*)stringByReplacingOccurrencesOfString:(NSString )target withString:(NSString )replacement
NSString *str3 = [str1 stringByReplacingOccurrencesOfString:@"i" withString:@"I"];
2.指定范围替换字符串中内容
-(NSString*)stringByReplacingCharactersInRange:(NSRange)range withString:(NSString *)replacement NS_AVAILABLE(10_5, 2_0);
NSString *str2 = [string stringByReplacingCharactersInRange:NSMakeRange(1, 5) withString:@"bbb"];
//使用NSMakeRange 确定location和length
字符串内容大小写修改
1.字符串全部大写输出
@property (readonly, copy) NSString *uppercaseString;
NSString *str1 = @"AbCd EfGh ddF";
NSString *str2 = [str1 uppercaseString];
2.字符串全部小写输出
@property (readonly, copy) NSString *lowercaseString;
NSString *str3 = [str2 lowercaseString];
3.首字母转为大写 - 空格后的首字母也转为大写
@property (readonly, copy) NSString *capitalizedString;
NSString *str4 = [str3 capitalizedString];
获取子字符串
1.从开头截取到Index
- (NSString *)substringToIndex:(NSUInteger)to;
string6 = [string1 substringToIndex:2];
2.从Index截取到字符串尾
- (NSString *)substringFromIndex:(NSUInteger)from;
string6 = [string1 substringFromIndex:1];
3.选定范围截取字符串
- (NSString *)substringWithRange:(NSRange)range;
string6 = [string1 substringWithRange:NSMakeRange(2, 4)];
字符串比较
1.判断字符串内容是否相同,传出一个Bool值
- (BOOL)isEqualToString:(NSString *)aString;
if ([string1 isEqualToString:@"后塞给..."]) {
NSLog(@"一样");
}else{
NSLog(@"不一样");
}
2.比较两个字符串大小,传出一个枚举类型的比较结果,常配合枚举使用
- (NSComparisonResult)compare:(NSString *)string;
枚举类型的比较结果 : 升序时为-1,一样时为0,降序时为 1。
typedef NS_ENUM(NSInteger, NSComparisonResult) {NSOrderedAscending = -1L, NSOrderedSame, NSOrderedDescending};
NSComparisonResult result = [string1 compare:string3];
switch (result) {
case NSOrderedAscending:
NSLog(@"升序");
break;
case NSOrderedSame:
NSLog(@"一样");
break;
case NSOrderedDescending:
NSLog(@"降序");
break;
default:
break;
}
3.判断字符串开头、结尾
- (BOOL)hasPrefix:(NSString *)str;
- (BOOL)hasSuffix:(NSString *)str;
NSString *urlStr = @"http://www.baidu.com.jpg";
NSString *urlStr1;
if ([urlStr hasPrefix:@"http://"]) { //判断字符串开头命令 返回bool类型值
NSLog(@"网址正确");
}
if (![urlStr hasSuffix:@"png"]) { //判断字符串结尾命令 返回bool类型值
urlStr1 =[urlStr stringByReplacingCharactersInRange:NSMakeRange([urlStr length]-3, 3) withString:@"png"]; //后三位改为png
}
NSLog(@"%@",urlStr1);
基本数据类型和NSString的互转
1.把基本数据类型、NSValue、NSNumber转化为NSString的对象
+ (instancetype)stringWithFormat:(NSString *)format, … NS_FORMAT_FUNCTION(1,2);
NSString *string8 = [NSString stringWithFormat:@"%ld",num1];
2.把NSString的对象转为基本数据类型 - 输出一个基本数据类型
@property (readonly) double doubleValue;
@property (readonly) float floatValue;
@property (readonly) int intValue;
@property (readonly) NSInteger integerValue NS_AVAILABLE(10_5, 2_0);
@property (readonly) long long longLongValue NS_AVAILABLE(10_5, 2_0);
@property (readonly) BOOL boolValue NS_AVAILABLE(10_5, 2_0);
NSInteger num2 = [numStr integerValue];