【OC】字符串函数

#import <Foundation/Foundation.h>

#pragma mark 大小写转换
void caseTest(){
    NSString *str = @"ZhengLu.me";
    NSString *str2 = @"hello world";
   
    NSLog(@"转为大写:%@", [str uppercaseString]);
    NSLog(@"转为小写:%@", [str lowercaseString]);
    NSLog(@"首字母大写:%@", [str2 capitalizedString]);
}
#pragma mark 字符串比较
void compare(){
    // 比较文本是否相同 不忽略大小写
    BOOL result = [@"abc" isEqualToString:@"ABC"];
    NSLog(@"%i", result);
   
    // 忽略大小写比较 相同返回0,不同返回1
    NSComparisonResult result2 = [@"Hello1" caseInsensitiveCompare:@"hello"];
    if (result2) {
        NSLog(@"两字符串不同");
    }else{
        NSLog(@"两字符串相同");
    }
    NSLog(@"%ld", result2);
}

#pragma mark 搜索字符串
void search(){
    // 检查字符串是否以给定字符串开头
    NSString *str = @"TokyoHotHot.avi";
    NSLog(@"字符串是否以Tokyo开头:%i", [str hasPrefix:@"Tokyo"]);
    NSLog(@"字符串是否以AVI结尾:%i",[str hasSuffix:@"AVI"]);//区分大小写
   
    // 查找字符串,返回NSRange结构体 {5,3} 分别为位置和长度, 若找不到则返回{9223372036854775807, 0}
    NSRange range = [str rangeOfString:@"Hot"];
    NSLog(@"%@", NSStringFromRange(range));
    if (range.location == NSNotFound) {
        NSLog(@"找不到指定字符串");
    }
   
    // 从尾部搜索
    range = [str rangeOfString:@"Hot" options:NSBackwardsSearch];
    NSLog(@"%@", NSStringFromRange(range));
}

#pragma mark 截取字符串
void subString(){
    NSRange range = {5,9};
    NSString *str = @"终有一天,我的生命将抵达终点,而你将加冕为王";
    NSLog(@"%@", [str substringFromIndex:5]);// 从第5个开始截取到结尾,不包括5
    NSLog(@"%@", [str substringToIndex:4]);// 从头开始索引到第4个,不包括4
    NSLog(@"%@", [str substringWithRange:range]);// 从第5个开始截取,截取9个长度
}

#pragma mark 切割字符串
void split(){
    NSString *str = @"apple,google,huawei,ccav";
    NSArray *arr = [str componentsSeparatedByString:@","];
    NSLog(@"%@", arr);
}

#pragma mark 路径相关函数
void pathTest(){
    // 将数组中的内容拼接成一个完整路径
    NSMutableArray *arr = [NSMutableArray array];
    [arr addObject:@"usr"];
    [arr addObject:@"local"];
    [arr addObject:@"apache"];
    NSString *path = [NSString pathWithComponents:arr];
    NSLog(@"%@", path);
   
    // 判断绝对路径
    NSLog(@"是否是绝对路径:%i", [path isAbsolutePath]);
   
    // 删除最后一个目录
    NSLog(@"删除最后一个目录后:%@", [path stringByDeletingLastPathComponent]);
   
    // 在最后添加一个目录
    NSLog(@"在最后添加一个目录后:%@", [path stringByAppendingPathComponent: @"conf"]);
   
    // 将路径字符串分割为数组
    NSArray *arr2 = [path pathComponents];
    NSLog(@"%@", arr2);
   
}

#pragma mark 扩展名处理
void extension(){
    // 获取删除添加文件扩展名
    NSString *str = @"/home/study/TokyoHot.tar.gz";
    NSLog(@"获取文件扩展名:%@", [str pathExtension]);
    NSLog(@"删除文件扩展名:%@", [str stringByDeletingPathExtension]);
    NSLog(@"添加扩展名:%@", [str stringByAppendingPathExtension:@"rmvb"]);
}

void other(){
    // 将字符串转为int
    NSString *str = @"1123";
    int a = [str intValue];
    NSLog(@"%i", a);
   
    // 字符串长度
    NSString *str2 = @"我的滑板鞋时尚时尚最时尚!";
    NSLog(@"length=%zi", [str2 length]);
}

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //caseTest();
        //compare();
        //search();
        //subString();
        //split();
        //pathTest();
        //extension();
        other();
    }
    return 0;
}

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值