首页 > 其他分享 >OC之【NSString字符串的其他用法】

OC之【NSString字符串的其他用法】

时间:2022-12-09 15:06:37浏览次数:41  
标签:OC NSLog range NSString str 字符串 path

#import <Foundation/Foundation.h>

字符串的大小写处理
void
NSString *str = @"GuangDong";
// 转成大写
NSLog(@"大写:%@", [str uppercaseString]);
// 转成小写
NSLog(@"小写:%@", [str lowercaseString]);
// 首字母变大写,其他字母变小写
NSLog(@"首字母变大写:%@", [@"aGE" capitalizedString]);
}

字符串的比较
void
// 检测字符串的内容是否相同
BOOL result = [@"abc" isEqualToString:@"abc"];
NSLog(@"%i", result);

// NSOrderedAscending 右边的字符串比左边大
// NSOrderedSame 两个字符串的内容相同
// NSOrderedDescending 左边的字符串比右边的大
NSComparisonResult result2 = [@"abc" compare:@"Abc"];
if (result2 == NSOrderedSame) {
NSLog(@"两个字符串的内容相同");
else if (result2 == NSOrderedAscending) {
NSLog(@"右边 > 左边");
else if (result2 == NSOrderedDescending) {
NSLog(@"右边 < 左边");
}
}

字符串的搜索
void
NSString *str = @"123456456.txt";

NSLog(@"是否以22开头:%i", [str hasPrefix:@"22"]);
NSLog(@"是否以txt结尾:%i", [str hasSuffix:@"txt"]);

// 搜索字符串
NSRange range = [str rangeOfString:@"456"];
// range.length == 0
if (range.location == NSNotFound) {
NSLog(@"不能找到");
else
NSLog(@"找到的范围是:%@", NSStringFromRange(range));
}

// 从尾部开始搜索字符串
range = [str rangeOfString:@"456" options:NSBackwardsSearch];
NSLog(@"%@", NSStringFromRange(range));

// 指定范围进行搜索
// [str rangeOfString:@"456" options:NSBackwardsSearch range:<#(NSRange)#>];
}

字符串的截取
void
NSString *str = @"123456";

// 从索引3开始截取到尾部(包括3)
NSLog(@"%@", [str substringFromIndex:3]);

// 从头部开始截取到索引3之前(不包括3)
NSLog(@"%@", [str substringToIndex:3]);

// 指定范围进行截取
NSRange range = NSMakeRange(2, 3);
NSLog(@"%@", [str substringWithRange:range]);

字符串分割
NSString *str2 = @"a-b-c-d-5";
NSArray *array = [str2 componentsSeparatedByString:@"-"];
NSLog(@"%@", array);

NSString *str3 = [array objectAtIndex:0];
NSLog(@"%@", str3);
}

与路径相关
void
// 快速创建一个自动释放的数组
NSMutableArray *components = [NSMutableArray array];
addObject:@"Users"];
addObject:@"jamesWong"];
addObject:@"Desktop"];

// 将数组中的所有字符串拼接成一个路径
NSString *path = [NSString pathWithComponents:components];
NSLog(@"%@", path);

// 将路径分解成一个数组
NSArray *cmps = [path pathComponents];
NSLog(@"%@", cmps);

// path是一个字符串常量,是不可变的
path = @"/users/jamesWong/test";
// 判断是够为绝对路径(依据是前面有无/)
NSLog(@"%i", [path isAbsolutePath]);
NSLog(@"最后一个目录:%@", [path lastPathComponent]);
// 删除最后一个目录
NSLog(@"%@", [path stringByDeletingLastPathComponent]);
// 在最后面拼接一个目录
NSLog(@"%@", [path stringByAppendingPathComponent:@"abc"]);
}

拓展名处理
void
NSString *str = @"/User/jamesWong/test.txt";

NSLog(@"拓展名:%@", [str pathExtension]);
// 删除拓展名
NSLog(@"%@", [str stringByDeletingPathExtension]);
// 添加拓展名
NSLog(@"%@", [@"abc" stringByAppendingPathExtension:@"mp3"]);
}

其他用法
void
NSString *str = @"12";
int a = [str intValue];
NSLog(@"%i", a);

// 计算字数,不是计算字符数
NSLog(@"length=%zi", [@"我是字符串123" length]);

// 取出对应的字符
unichar c = [@"abc" characterAtIndex:0];
NSLog(@"%c", c);

// 返回C语言中的字符串
const char *s = [@"abc" UTF8String];
NSLog(@"%s", s);
}

int main(int argc, const char
{

@autoreleasepool {
other();
}
return 0;
}

标签:OC,NSLog,range,NSString,str,字符串,path
From: https://blog.51cto.com/u_15907570/5925301

相关文章

  • OC之【typedef的使用】
    //#defineIntegerint//给基本数据类型起别名voidtypedefinttypedefIntegertypedefunsignedintUInteger;inta=10;Integerb=9;......
  • OC之【NSMutableString的使用】
    可变字符串的创建void//预先分配10个字数的存储空间NSMutableString*str=[[NSMutableStringalloc]initWithCapacity:10];//设置字符串内容setString:@......
  • OC之【NSArray使用】
    #import<Foundation/Foundation.h>#import"Student.h"创建一个数组void//创建一个空的数组NSArray*array=[NSArrayarray];//创建有1个元素的数组NSAr......
  • OC之【NSMutableArray的使用】
    #import<Foundation/Foundation.h>#import"Student.h"voidNSMutableArray*array=[NSMutableArrayarrayWithObject:@"1"];//添加元素addObject:@"2"];addObj......
  • OC之【@protocol协议】
    #import<Foundation/Foundation.h>@protocolStudy<NSObject>默认就是@required-(void)test3;表示必须实现的方法//虽然字面上说是必须实现,但是编译器并不强求某个类......
  • OC之【@class】
    如果是继承某个类,就要导入类的头文件@classbook.h文件:#import<Foundation/Foundation.h>Book:NSObjectintprice;@end文件:"Book.h"Book-(void)dealloc{NSL......
  • OC之【深拷贝(mutableCopy)和浅拷贝(copy)】
    文件#import<Foundation/Foundation.h>#import"Student.h"#import"GoodStudent.h"//copy语法的目的:改变副本的时候,不会影响到源对象字符串的拷贝(深拷贝)//深拷贝:内容......
  • OC之【NSNumber的使用】
    #import<Foundation/Foundation.h>void//将int类型的10包装成一个NSNumber对象NSNumber*number=[NSNumbernumberWithInt:10];NSLog(@"number=%@",number);......
  • OC之【NSDictionary详解】
    main.m文件#import<Foundation/Foundation.h>#import"Student.h"字典的初始化void//NSDictionary是不可变的NSDictionary*dict=[NSDictionarydictionaryWit......
  • OC之【c语言结构体】
    <stdio.h>void//这个机构只能在函数内部使用//定义一个名为Student的结构体类型structintage;//年龄char*name;//姓名floatheight;//身高};......