Objective-c的字符串的常用操作
来源:互联网 发布:新闻报道数据库 编辑:程序博客网 时间:2024/05/16 07:39
int main(int argc,const char * argv[])
{
@autoreleasepool {
//NSString常用方法
//1.创建字符串对象
//(1). 直接赋值
NSString *str1 = @"直接给值的字符串";
//(2). 初始化方法
NSString *str2 = [[[NSStringalloc]initWithString:str1]autorelease];
//现有的字符串来创建
//(3). 便利构造器
NSString *str3 = [NSStringstringWithString:str1];
NSString *str5 = @"非常";
NSString *str4 = [[NSStringalloc]initWithFormat:@"今夜阳光明媚%@", str5];
NSLog(@"%@", str4);
NSString *str6 = [NSStringstringWithFormat:@"今夜阳光%@明媚", str5];
NSLog(@"%@", str6);
//2. 获取字符串中某个位置上的字符
NSLog(@"%lu",sizeof(unichar));
unichar c = [str6 characterAtIndex:3];
NSLog(@"%C", c);
//3.获取字符串的长度
NSLog(@"%lu", [str1length]);
NSLog(@"%lu", [str2length]);
NSLog(@"%lu", [str3length]);
NSLog(@"%lu", [str4length]);
NSLog(@"%lu", [str5length]);
NSLog(@"%lu", [str6length]);
//4. 获取字符串中得子串
NSString *sentence = @"梁立德和刘若曈是好基友";
NSString *liang = [sentence substringToIndex:3];
NSLog(@"%@", liang);
NSString *friend= [sentence substringFromIndex:8];
NSLog(@"%@", friend);
// NSRange range = {4, 3};//{区域,长度}
NSString *liu = [sentence substringWithRange:NSMakeRange(4,3)];
NSLog(@"%@", liu);
//5. 判断字符串是否以某个前缀开头
//例如:以下姓名字符串是否都姓"刘"开头
NSString *name1 = @"刘天娇";
// NSString *name2 = @"刘传瑞";
// NSString *name3 = @"王阳";
// NSString *name4 = @"刘旭";
// NSString *name5 = @"小黄人";
if ([name1 hasPrefix:@"刘"]) {
NSLog(@"%@姓刘", name1);
}else {
NSLog(@"%@不姓刘", name1);
}
//6. 判断字符串是否以某个后缀结束
//例如:通过文件名判断是否是图片文件
//.jpg, .jpeg, .bmp, .gif, .png
NSString *fileName = @"yanZhaoMen.avi";
if ([fileName hasSuffix:@".jpg"] || [fileNamehasSuffix:@".jpeg]"] || [fileNamehasSuffix:@".bmp"] || [fileNamehasSuffix:@".gif"] || [fileNamehasSuffix:@".png"]) {
NSLog(@"文件%@是图像文件", fileName);
}
//7. 判断字符串中是否包含另一个字符串, 在什么位置
NSString *text =@"NSString primitive (funnel) methods. A minimal subclass of NSString just needs to implement these, although we also recommend getCharacters:range:. See below for the other methods.";
NSString *searchString = @"字符串";
NSRange range2 = [text rangeOfString:searchString];
NSLog(@"loc:%lu len:%ld", range2.location, range2.length);
NSLog(@"%lu",NSNotFound); //找不到 1. 则就是这个数, 枚举 2. length = 0
//不可变的类型
//8.字符串拼接
NSString *s1 = @"Hard";
NSString *s2 = @"Work";
NSString *s = [s1 stringByAppendingString:s2];
NSLog(@"%@", s);
NSString *together = [NSStringstringWithFormat:@"%@+%@", s1, s2];
NSLog(@"%@", together);
//整形常量枚举
//9.字符串替换(作业)
NSMutableString *st = [NSMutableStringstringWithFormat:@"2B青年"];
[st replaceCharactersInRange:NSMakeRange(0,2)withString:@"文艺"];
NSLog(@"%@", st);
//10.字符串比较
NSLog(@"A B %ld", [@"A"compare:@"B"]);
NSLog(@"B B %ld", [@"B"compare:@"B"]);
NSLog(@"B C %ld", [@"C"compare:@"B"]);
NSLog(@"BA BC %ld", [@"BA"compare:@"BC"]);
//11. 大小写之间的转换(作业)
NSString *str = @"kAbbbbFFFeCtt";
NSLog(@"%@",[struppercaseString]);//将字符串中得所有小写字母转化为大写字符,不改变原来的字符串
NSLog(@"%@",[strlowercaseString]);//将字符串中得所有大写字母转化为小写字符,不改变原来的字符串
// NSLog(@"%@",[str capitalizeString]);//将字符串中出现的第一个字母转化为大写,其余字母小写
//12.字符串和数值类型转换
//(1). 数字(基本数据类型)转字符串对象
NSString *num1 = [NSStringstringWithFormat:@"%ld + %d = %d",365L, 120, 365 + 120];
NSLog(@"%@", num1);
//(2). 字符串转数字类型
NSString *num2 = @"1234"; //int
NSString *num3 = @"3.14159"; //float
NSString *num4 = @"8888888888.6666"; //double
int a2 = [num2 intValue];
float a3 = [num3 floatValue];
double a4 = [num4 doubleValue];
NSLog(@"%d, %f, %f", a2, a3, a4); //输出结果精确度
//13.字符串与数组
//(1). 字符串转数组
NSString *string =@"beiJing, Welcome, To, Here";
NSLog(@"string:%@", string);
NSArray *array = [string componentsSeparatedByString:@","];
NSLog(@"array:%@", array);
NSString *value = [array objectAtIndex:0];
NSLog(@"value:%@", value); //取出第0个元素
//(2). 数组转字符串
NSString *string1 = [array componentsJoinedByString:@","];
NSLog(@"string1:%@", string1);
//14.字符串转化
//将OC字符串转化为C的字符串
NSString *string2 = @"Hello, worle!";
const char *p = [string2UTF8String];
/*可变的字符串类 NSMutableString*/
//1. 创建
NSMutableString *stringM1 = [NSMutableStringstringWithFormat:@"薛继苗"];
//2. 字符串拼接
[stringM1appendString:@"的身高"];
[stringM1appendFormat:@"%d米",2];
NSLog(@"%@", stringM1);
//用不可变字符串的拼接方法
// stringM1 = [stringM1 stringByAppendingString:@"?"];
NSLog(@"%@", stringM1);
//3.插入字符
[stringM1insertString:@"今年"atIndex:0];
NSLog(@"%@", stringM1);
//4.删除字符
[stringM1 deleteCharactersInRange:NSMakeRange(5,5)];
NSLog(@"%@", stringM1);
//5.查找并删除
NSRange substr = [stringM1 rangeOfString:@"年"];
if (substr.location !=NSNotFound) {
[stringM1deleteCharactersInRange:substr];
}
//6.替换字符串
NSMutableString *st1 = [NSMutableStringstringWithFormat:@"2B青年"];
[st1 replaceCharactersInRange:NSMakeRange(0,2)withString:@"文艺"];
//从第0个字符串处除掉2个字符,并换成"文艺"
NSLog(@"%@", st1);
}
return 0;
}
- Objective-c的字符串的常用操作
- 关于Objective-C中常用的操作字符串的方法
- Objective-c语言_对字符串操作的常用方法
- Objective-C语言_对字符串操作的常用方法
- Objective-c 常用字符串操作
- objective-c下的NSString字符串操作
- Objective-C 对字符串的操作
- Objective-c语言_对可变字符串操作的常用方法
- objective-C语言_对可变字符串操作的常用方法
- Objective-C读写文件 和 字符串的操作
- Objective-C字符串操作
- Objective-C中关于数组操作常用的方法
- Objective-C 字符串的连接
- Objective-C 字符串的连接
- Objective-C 字符串的处理
- Objective-c 字符串的拼接
- 常用的Objective-C开源类库
- objective-c 图片的操作
- Cocos2D-X弹出对话框的实现与封装
- Intellij编译Spark on Yarn源码注意事项
- 声波传输、声波通信商用增强版
- Enable & Disable Xcode Indexing
- AJAX学习前奏----JS基础加强
- Objective-c的字符串的常用操作
- XML文档解析之一
- WCF 传送二进制流数据 stream
- 黑马程序员——JDK5.0新特性
- const用法详解
- 关于官方Reachability Demo理解
- C++与Java变量声明与赋值的区别
- APP IOS6 适配iOS7开发技巧
- 生产者-消费者问题详解