OC字符串
来源:互联网 发布:手游日常数据分析 编辑:程序博客网 时间:2024/05/16 05:59
//// main.m// 字符串//// Created by dingkang on 15/6/17.// Copyright (c) 2015年 丁康. All rights reserved.//#import <Foundation/Foundation.h>// 结构体的关键字 struct// 一个整体: 由不同数据类型组成的一个整体typedef struct Person{int age; char *name;}Person;int main(int argc, const char * argv[]) { @autoreleasepool { Person person; person.age = 20; person.name = "蓝精灵"; Person liuYong; liuYong.age = 99; liuYong.name = "刘罗锅";
Cocoa中用来处理字符串的是NSString
字符串 可变字符串
字符串的初始化方式
NSString *string = [[NSString alloc]init]; NSString *string1 = [NSString string]; NSString *string2 = [[NSString alloc]initWithString:string1]; NSString *string3 = @"..."; // 给字符串赋值 string = @"11111";
字符串的处理
1、字符串的 格式化处理(格式化字符串)
int age = 20;NSString *name = @"陈真";NSString *info = [NSString stringWithFormat:@"%@今年%d",name,age];NSLog(@"%@",info);
输出结果:陈真今年20
截取哪一个位置的字符串
2、从哪个位置 开始截取字符串
Index不是下标 所以不是从0开始 (从第2个字后面开始截取字符串 截取前:陈真今年20)
NSString *newString = [info substringFromIndex:2]; NSLog(@"%@",newString);
输出结果:今年20
3、截取 字符串到 哪个位置
NSString *message = @"锄禾日当午,汗滴禾下土,。。。";//从index 12 处开始截取 到结束NSString *String = [message substringFromIndex:12];NSLog(@"%@",String);//从开头截取到 index 为12处NSLog(@"%@",[message substringToIndex:12]);//从开头截取到 index为5处NSLog(@"%@",[message substringToIndex:5]);
输出结果: 。。。
锄禾日当午,汗滴禾下土,
锄禾日当午
4.截取字符串从哪儿到哪儿
NSRange range;// 定义结构体的位置 range.location = 6;// 在这个位置的基础之上 继续数几个长度 range.length = 5;// 从index 为6处开始 向后截取 5 个长度 NSLog(@"%@",[message substringWithRange:range]); NSRange range1; range1.location = 5; range1.length = 7; // 从index 为5处开始 向后截取 7 个长度 NSLog(@"%@",[message substringWithRange:range1]);
输出结果: 汗滴禾下土
,汗滴禾下土,
5、 把字符串 通过指定字符 分割成数组
NSString *result = @"武松打虎duang!duang!duang! 老虎跑下山 ya~ya~ya"; //将上面字符串按照 空格 分割成数组 NSArray *resultList = [result componentsSeparatedByString:@" "]; //遍历数组 输出遍历后的内容 for (NSString *an in resultList) { NSLog(@"%@",an); }
输出结果:
武松打虎duang!duang!duang! 老虎跑下山 ya~ya~ya
6、英文字符的操作
// 把所有英文字母 转成大写 NSString *str = @"bLuebuff"; NSLog(@"%@",str.uppercaseString);// 把所有英文字母转换成小写 NSLog(@"%@",str.lowercaseString);// 首字母大写 NSLog(@"%@",str.capitalizedString);
输出结果:
BLUEBUFFbluebuffBluebuff
7、拼接字符串
1.stringWithFormat:
不可变字符串的拼接,是在原来的基础上是 在拼接一个字符串 生成另外一个新的字符串
不可变字符串 字符串拼接的两个方法 都会生成一个新的字符串
NSString *ss = @"我是"; NSString *ss1 = @"好人"; NSString *all = [ss stringByAppendingString:ss1]; NSLog(@"%@",all); NSLog(@"%@",[ss stringByAppendingFormat:@"%@不可能",ss1]);
输出结果:
我是好人我是好人不可能
8、查询字符串
判断字符串 是否包含某个字符串
NSString *sss = @"上山打老虎跑了"; NSString *string = @"老虎"; NSRange range3 = [sss rangeOfString:@"老虎"]; // range3 相当于 [sss rangeOfString:string] if ([sss rangeOfString:string].location != NSNotFound) { NSLog(@"%@",sss); }else{ NSLog(@"骗人~~~"); } if (range3.location == NSNotFound) { NSLog(@"%@",sss); }else{ NSLog(@"骗人~~~"); }
输出结果:
上山打老虎跑了骗人~~~
9.查询字符串以什么开头(头部包含什么内容)
以什么结尾(尾部包含什么内容)
NSString *sss = @"上山打老虎跑了";// 开头 (Prefix 前缀) if ([sss hasPrefix:@"上山"] != NO) { NSLog(@"存在"); }else{ NSLog(@"错误"); }// 结尾 (Suffix 后缀) if ([sss hasSuffix:@"老虎跑了"]!= NO) { NSLog(@"存在"); }else{ NSLog(@"错误"); }
输出结果:
存在存在
10、可变字符串的拼接
在原来字符串的基础上 又添加了一个字符串 与原来的字符串 合成一个字符串 (还是原来字符串的对象)
NSMutableString *ant = [NSMutableString stringWithString:@"qqq"];[ant appendString:@"111"];NSLog(@"%@",ant);
输出结果:
qqq111
11、可变字符串的更改
把指定位置的字符串 替换成另外一个字符串
NSMutableString *name1 = [[NSMutableString alloc]initWithString:@"bruce"];NSLog(@"替换前:%@",name1);NSRange range110;range110.location = 1;range110.length = 4;//把"bruce"这个字符串的 index为1开始4个长度这段字符串替换成 "lue"[name1 replaceCharactersInRange:range110 withString:@"lue"];NSLog(@"替换后:%@",name1);
输出结果:
替换前:bruce替换后:blue
12、删除指定位置的字符串
NSMutableString *ssss = [NSMutableString stringWithString:@"我是一名程序员"];NSRange range119;range119.location = 0;range119.length = 4;//删除ssss这个字符串 的index从0开始4个长度的字符串 也就是 "我是一名"[ssss deleteCharactersInRange:range119];NSLog(@"%@",ssss);
输出结果:
程序员
0 0
- Oc字符串
- OC字符串
- OC字符串
- OC 字符串
- oc字符串
- OC 字符串
- OC--字符串
- OC字符串
- OC 字符串
- OC字符串
- OC字符串
- OC 字符串
- OC-字符串
- OC 字符串
- Oc 字符串
- OC 字符串
- OC字典 OC数组 OC字符串
- oc 字符串操作
- Qt5.3.2 mingw32环境变量设置方法
- 我的UVa & BZOJ
- Binder进程间通信机制Service组件启动过程
- java 中static final关键字
- MapReduce之单词(字母)个数的统计
- OC字符串
- 黑马程序员——C基础---推箱子游戏的代码实现
- 论频谱中负频率的物理意义
- 按钮代码
- latex编写数学公式
- 机器视觉系统助力医疗器械检测
- 序列
- Docker容器的连接与docker-compose
- [LeetCode-171] Excel Sheet Column Number(26进制转10进制)