Foundation - NSString

NSString和NSMutableString两个类最主要的区别是NSString类的字符串对象,在创建赋值后不能动态修改长度和内容,除非重新赋值。而NSMutableString类似于链表,在创建赋值后可以进行修改长度、插入、删除等操作。

NSString

// NSString 创建、初始化
NSString *str = @"Hello World";

+(instancetype)stringWithFormat:(NSString *)format, ... ;
NSString *format = [NSString stringWithFormat:@"Date %d-%d-%d" :2021,03,20];

+(nullable instancetype)stringWithUTF8String:(const char *)nullTreminatedCString;
NSStrring *utf8string = [NSString stringWithUTF8String:"UTF8 Hello World"];

-(instancetype)InitWithString:(NSString *)format, ... ;
NSString initstring = [[NSString alloc] initWithFormat: @"Hello"];

-(instancetype)InitWithUTF8String:(const char *)nullTreminatedCString;
NSString i8string = [[NSString alloc] initWithUTF8String:"Init Hello World"];



-(BOOL)isRqualToString:(NSString *) string; // 字符串比较
-(BOOL)containsString:(NSString *) string;  // 字符串包含

-(BOOL)hasPrefix:(NSString *) string;  // 字符串前缀
-(BOOL)hasSuffix:(NSString *) string;  // 字符串后缀

-(NSString *)subStringFromIndex:(NSInteger) fromNum; // 后段字符串截取
-(NSString *)subStringToIndex:(NSInteger) toNum;     // 前段字符串截取
-(NSString *)SubStringWithRange:(NSRange) range;     //

NSString str1 = @"hello World";
NSString str2 = [[NSString alloc] initWithUTF8String: "Happy New Year"];

-(NSString *)capitalizedString // 字符串首字母大写
-(NSString *)lowercaseString    // 字符串小写
-(NSString *)uppercaseString    // 字符串大写
NSLog(@"%c", [str1 characterAtIndex:3]) // 打印索引字符

if(str1 isEqualToString str2) {
    NSLog(@"str1 与 str2 相等");
}
if ([str1 containsString:@"Hello"]) {
    NSLog(@"contain");
}
if ([str2 hasPrefix:@"Hello"]) {
    NSLog(@"hasPrefix");   
}

NSString *subStr1 = [str1 subStringFromIndex:5];
NSString *subStr2 = [str2 subStringToIndex:9];
NSRange range = NSMakeRange(5, 5); // 从第5位开始截取,截取5位。
 *subStr3 = [str2 subStringWithRange:range];

-(NSComparator*)caseIntensitiveCompare:string // 例如,NSComparator *compareResult = [S1 caseInsensitiveCompare:S2];  NSOrderedAscend / NSOrderedSame / NSOrderedDescend
-(NSComparator*)compare:string //和上面的caseInsensitiveCompare:不同,这个方法考虑大小写

NSMutableString

NSMutableString是继承自NSString类的,所以NSString中定义的所有方法NSMutableString都可以使用。

// NSMutableString 创建、初始化
// stringWithCapacity: 需要指定初始化时预留的可供存储的字符串最大长度
NSMutableString *mStr1 = [NSMutableString stringWithCapacity:100];
// initWithCapacity: 需要指定初始化时预留的可供存储的字符串最大长度
NSMutableString *mStr2 = [[NSMutableString alloc] initWithCapacity:100];
// stringWithString:
NSMutableString *mStr3 = [NSMutableString stringWithString:@"Hello World"];

/

-(void)setString:(NSString *)string;
-(void)appendString:(NSString *)string;
-(void)insertString:(NSString *)string : (NSInteger)atIndex;

NSMutableString *mString = [NSMutableString stringWithCapacity:100];
//
[mstring setString:@"www.csdn.com"];
[mstring appendString:@"博客"];
[mstring insertString:@"欢迎访问" atIndex:0];

NSMutableString *mString = [NSMutableString stringWithString:@"www.csdn.com"];
NSRange range = NSMakeRange(4,5);
// 字符串替换
-(void)replaceCharactersInRange:(NSRange)range :withString (NSString *)string;
[mString replaceCharactersInRange:range withString:@"blog"];

// 替换
-(void)replaceOccurencesOfString:(NSString *)rString :withString (NSString *)string;

// 字符串删除
-(void)deleteCharactersInRange:(NSRange)range;
[mString deleteCharactersInRange:range];
// 字符串拼接
-(NSString *)stringByAppendingString:(NSString *)string;
NSString *mNewString = [mString stringByAppendingString:@"blog"];

// 判断一个字符串是否在另一个字符串中
if ([mstr1 rangeOfString:mstr2].location != NSNotFound) {
    NSLog(@"str2 在 str1 中");
}
// 去除字符串两端的空格
[mstr1 stringByTrimmingCharactersInSet:[NSCgaracterSet whitespaceAndNewlineCharacterSet]];
// 去除回车
[mstr1 stringByTrimmingCharactersInSet:[NSCgaracterSet whitespaceCharacterSet]];


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值