OC 中NSString的常见应用

字符串拼接

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];
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值