//
// main.m
// Note-02-字符串处理
//
// Created by 刘佳斌 on 15/11/17.
// Copyright © 2015年 刘佳斌. All rights reserved.
//
/*
1.定义一个花类,五种花(狗尾巴花,玫瑰花,菜花,薰衣草,满天星),分别给每一种花起一个名
给每一种花一个特征,
2.定义一个车类,写三种车,都有颜色,名字,价格,排量,起速
*/
#import <Foundation/Foundation.h>
#import "Phone.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
/*
有返回值方法
公式:- (返回值类型) 方法名; //声明
- (返回值类型) 方法名 { return 返回值类型的数据 }
调用: [对象名 方法名]; //他就是具体的数据
(给别人一个数据)
//无参有返回值
-(void)函数名:(参数类型)参数名; (为了跟别人要一个数据)
数据类型:
c语言里的所有基本数据类型都可以在oc中使用
*/
/*
字符串:
NSString
1.初始化:NSString *string = @"我是好学生";
NSString *string =[NSString *string]; 初始化一个空的字符串(常用);
NSString *string = [[NSString alloc] init]; 空的;
2.处理字符串
2.1 字符串所有内容转成大写(前提是字母); uppercaseString
2.2 字符串所有内容转成小写; lowercaseString
2.3 字符串首字母大写,其他小写 capitalizedString
2.4 判断字符串是不是以什么字符开头的 BOOL类型 (只有yes 1 和 no 0); BOOL类型 默认值为NO
hasPrefix 前缀
2.5 判断字符串是不是以什么字符结尾的
hasSuffix 后缀
2.6 字符串范围 NSRange //范围包含:起点的位置和长度
2.7 查找字符串有无包含另一字符串 rangeOfString
2.8 判断两个字符串是否相同 isEqualToString
2.9 字符串截取 substringToIndex
截取到最后 substringFromIndex
截取的范围 substringWithRange
2.10 字符串拼接 stringByAppendingString
格式化拼接字符串 stringByAppendingFormat
字符串直接格式化 stringWithFormat
2.11 让一个字符串有一个字符串 stringWithString (在可变字符串初始化的时候用到)
2.12 插入字符串 insertString:@"要传的内容" atIndex:要传的位置
*/
#pragma mark -----有参 有返
/*
Phone *iPhone = [[Phone alloc] init];
[iPhone setName:@"葫芦娃"];
NSString *phoneName = [iPhone name];
NSLog(@"%@",phoneName);
*/
#pragma mark ---字符串
/*
NSString *name = @"huluwa";
name = [name uppercaseString];
NSLog(@"%@",name);
name = [name lowercaseString];
NSLog(@"%@",name);
name = [name capitalizedString];
NSLog(@"%@",name);
*/
//判断字符是不是以毛开头
/*
NSString *name = @"毛泽东";
BOOL isRight = [name hasPrefix:@"毛"];
if(isRight!=YES){
NSLog(@"不是");
}
else
NSLog(@"是");
NSString *telNum = @"13101716325";
if ([telNum hasPrefix:@"135"]!=YES) {
NSLog(@"不是");
}
else NSLog(@"是");
*/
//判断字符是不是以 。结尾
/*
NSString *string = @"今天真好。,";
if ([string hasSuffix:@"。"]!=YES) {
NSLog(@"不是以句号结束");
}
*/
//NSRange:范围
/*
NSRange rang;
rang.location = 1;
rang.length =3;
*/
//查找有无@“书包”
/* NSString *string = @"背着书包去放牛";
//NSNotFound //表示没有找到
NSRange range = [string rangeOfString:@"书包"];
if (range.location != NSNotFound) {
NSLog(@"找到了");
}
*/
//判断两个字符串是否相同
/*
NSString *string = @"阿里";
BOOL isEq = [string isEqualToString:@"阿狸"];
if (isEq != YES) {N
NSLog(@"不相同");
}
else NSLog(@"相同");
*/
//截取
/*
NSString *string = @"太阳光,金亮亮,雄鸡唱三唱!";
NSString *newString = [string substringToIndex:3]; //截取前三个
NSLog(@"%@",newString);
NSString *newString1 = [string substringFromIndex:3]; //截取从第三个开始到最后
NSLog(@"%@",newString1);
NSRange range;
range.location = 4;
range.length = 3;
NSString *newString2 = [string substringWithRange:range]; // 截取从第四个位置3个范围
NSLog(@"%@",newString2);
*/
//字符串拼接
/*
//在string基础之上,拼接一段字符串,生成一个新的字符串
NSString *string = @"12345";
NSString *string1 = [ @"上山打老虎" stringByAppendingString: string];
//在string 的后面拼接 “上山打老虎” 字符串拼接的顺序,就是字符串内容的顺序
NSLog(@"%@",string1);
*/
//格式化拼接字符串 可以把任何格式对象转换成字符串 也会生成一个新的字符串
// 在一个字符串基础之上,拼接一个格式化的字符串,生成一个新的字符串
/* NSString *string = @"金刚葫芦娃";
// 1. @“是”
// 2. @"钢铁做的"
// 3. int 500
// 4. @"斤"
NSString *s1 = @"是";
NSString *s2 = @"钢铁做的";
int num = 500;
NSString* s3 = @"斤";
// NSLog(@"%@%@%@%d%@",string,s1,s2,num,s3); //仅仅输出
// NSString *newString = [string stringByAppendingFormat:@"%@%@%d%@",s1,s2,num,s3]; //格式化拼接
//使用格式化字符串,是为了把其他格式的数据,转成字符串,也可做拼接
NSString *s = [NSString stringWithFormat:@"%@%@%@%d%@",string,s1,s2,num,s3];
*/
//数据转换 把其他数据类型,转换成字符串,可以使用格式化字符串的方法 (目的是为了使用它)
//字符串转BOOL类型,
/*
NSString *s = @"erww";
//除了数字,字符串转成BOOL或者int...默认为空,都是0 (这些都是不提倡的)
BOOL is = [s boolValue];
int num = [s intValue];
NSLog(@"%d %d",is,num);
BOOL类型需要转换的字符串内容,必须是0 1 内容不是0 就是1;
intValue boolValue 等 把字符串类型的数字转成相对应的int bool类型
*/
/*
NSString *num1 = @"1";
NSString *num2 = @"2";
//int a = num1 + num2; ❌
int a = [num1 intValue] + [num2 intValue];
*/
#pragma mark --可变字符串 NSMutableString
//之前学的NSString的方法,NSMutableString都可以使用
//初始化可变字符串
// NSMutableString *s = @"asfg"; //虽然可以输出,但直接用@“”,s被编译器默认为是不可变的字符串
//方法前面是“-”,表示是一个实例方法(对象方法),用对象名去调用方法
// “+”表示是一个类方法,类方法用类名调用方法
// stringWithString 让一个字符串有一个字符串
// NSMutableString *s = [NSMutableString string];
// NSMutableString *string = [NSMutableString stringWithString:@"aslgl"];
// NSMutableString *string1 = [NSMutableString stringWithFormat:@"ags"];
/*❓❓❓ 为什么有可变不可变字符串
目的:为了让原有字符串可以添加内容,修改内容,删除内容
//可变字符串拼接
NSMutableString *string = [NSMutableString stringWithString:@"你好"];
[string appendString:@",北京"];
// int a = 10;
// [string appendFormat:@",北京%d",a]; 两种拼接都可以,是在原有基础上添加的,并且没有生成一个新的字符串
*/
//插入字符串
/*
NSMutableString *string = [NSMutableString stringWithString:@"你好"];
[string insertString:@"您" atIndex:1];
*/
//删除字符串
/*
NSRange range = {0,1};
NSMutableString *string = [NSMutableString stringWithString:@"你好"];
[string deleteCharactersInRange:range];
*/
// 替换字符串 注意要替换的长度
/*
NSMutableString *string = [NSMutableString stringWithString:@"你好"];
NSRange range = {0,1};
[string replaceCharactersInRange:range withString:@"您好好好好"];
NSLog(@"%@",string);
*/
}
return 0;
}
// main.m
// Note-02-字符串处理
//
// Created by 刘佳斌 on 15/11/17.
// Copyright © 2015年 刘佳斌. All rights reserved.
//
/*
1.定义一个花类,五种花(狗尾巴花,玫瑰花,菜花,薰衣草,满天星),分别给每一种花起一个名
给每一种花一个特征,
2.定义一个车类,写三种车,都有颜色,名字,价格,排量,起速
*/
#import <Foundation/Foundation.h>
#import "Phone.h"
int main(int argc, const char * argv[]) {
@autoreleasepool {
/*
有返回值方法
公式:- (返回值类型) 方法名; //声明
- (返回值类型) 方法名 { return 返回值类型的数据 }
调用: [对象名 方法名]; //他就是具体的数据
(给别人一个数据)
//无参有返回值
-(void)函数名:(参数类型)参数名; (为了跟别人要一个数据)
数据类型:
c语言里的所有基本数据类型都可以在oc中使用
*/
/*
字符串:
NSString
1.初始化:NSString *string = @"我是好学生";
NSString *string =[NSString *string]; 初始化一个空的字符串(常用);
NSString *string = [[NSString alloc] init]; 空的;
2.处理字符串
2.1 字符串所有内容转成大写(前提是字母); uppercaseString
2.2 字符串所有内容转成小写; lowercaseString
2.3 字符串首字母大写,其他小写 capitalizedString
2.4 判断字符串是不是以什么字符开头的 BOOL类型 (只有yes 1 和 no 0); BOOL类型 默认值为NO
hasPrefix 前缀
2.5 判断字符串是不是以什么字符结尾的
hasSuffix 后缀
2.6 字符串范围 NSRange //范围包含:起点的位置和长度
2.7 查找字符串有无包含另一字符串 rangeOfString
2.8 判断两个字符串是否相同 isEqualToString
2.9 字符串截取 substringToIndex
截取到最后 substringFromIndex
截取的范围 substringWithRange
2.10 字符串拼接 stringByAppendingString
格式化拼接字符串 stringByAppendingFormat
字符串直接格式化 stringWithFormat
2.11 让一个字符串有一个字符串 stringWithString (在可变字符串初始化的时候用到)
2.12 插入字符串 insertString:@"要传的内容" atIndex:要传的位置
*/
#pragma mark -----有参 有返
/*
Phone *iPhone = [[Phone alloc] init];
[iPhone setName:@"葫芦娃"];
NSString *phoneName = [iPhone name];
NSLog(@"%@",phoneName);
*/
#pragma mark ---字符串
/*
NSString *name = @"huluwa";
name = [name uppercaseString];
NSLog(@"%@",name);
name = [name lowercaseString];
NSLog(@"%@",name);
name = [name capitalizedString];
NSLog(@"%@",name);
*/
//判断字符是不是以毛开头
/*
NSString *name = @"毛泽东";
BOOL isRight = [name hasPrefix:@"毛"];
if(isRight!=YES){
NSLog(@"不是");
}
else
NSLog(@"是");
NSString *telNum = @"13101716325";
if ([telNum hasPrefix:@"135"]!=YES) {
NSLog(@"不是");
}
else NSLog(@"是");
*/
//判断字符是不是以 。结尾
/*
NSString *string = @"今天真好。,";
if ([string hasSuffix:@"。"]!=YES) {
NSLog(@"不是以句号结束");
}
*/
//NSRange:范围
/*
NSRange rang;
rang.location = 1;
rang.length =3;
*/
//查找有无@“书包”
/* NSString *string = @"背着书包去放牛";
//NSNotFound //表示没有找到
NSRange range = [string rangeOfString:@"书包"];
if (range.location != NSNotFound) {
NSLog(@"找到了");
}
*/
//判断两个字符串是否相同
/*
NSString *string = @"阿里";
BOOL isEq = [string isEqualToString:@"阿狸"];
if (isEq != YES) {N
NSLog(@"不相同");
}
else NSLog(@"相同");
*/
//截取
/*
NSString *string = @"太阳光,金亮亮,雄鸡唱三唱!";
NSString *newString = [string substringToIndex:3]; //截取前三个
NSLog(@"%@",newString);
NSString *newString1 = [string substringFromIndex:3]; //截取从第三个开始到最后
NSLog(@"%@",newString1);
NSRange range;
range.location = 4;
range.length = 3;
NSString *newString2 = [string substringWithRange:range]; // 截取从第四个位置3个范围
NSLog(@"%@",newString2);
*/
//字符串拼接
/*
//在string基础之上,拼接一段字符串,生成一个新的字符串
NSString *string = @"12345";
NSString *string1 = [ @"上山打老虎" stringByAppendingString: string];
//在string 的后面拼接 “上山打老虎” 字符串拼接的顺序,就是字符串内容的顺序
NSLog(@"%@",string1);
*/
//格式化拼接字符串 可以把任何格式对象转换成字符串 也会生成一个新的字符串
// 在一个字符串基础之上,拼接一个格式化的字符串,生成一个新的字符串
/* NSString *string = @"金刚葫芦娃";
// 1. @“是”
// 2. @"钢铁做的"
// 3. int 500
// 4. @"斤"
NSString *s1 = @"是";
NSString *s2 = @"钢铁做的";
int num = 500;
NSString* s3 = @"斤";
// NSLog(@"%@%@%@%d%@",string,s1,s2,num,s3); //仅仅输出
// NSString *newString = [string stringByAppendingFormat:@"%@%@%d%@",s1,s2,num,s3]; //格式化拼接
//使用格式化字符串,是为了把其他格式的数据,转成字符串,也可做拼接
NSString *s = [NSString stringWithFormat:@"%@%@%@%d%@",string,s1,s2,num,s3];
*/
//数据转换 把其他数据类型,转换成字符串,可以使用格式化字符串的方法 (目的是为了使用它)
//字符串转BOOL类型,
/*
NSString *s = @"erww";
//除了数字,字符串转成BOOL或者int...默认为空,都是0 (这些都是不提倡的)
BOOL is = [s boolValue];
int num = [s intValue];
NSLog(@"%d %d",is,num);
BOOL类型需要转换的字符串内容,必须是0 1 内容不是0 就是1;
intValue boolValue 等 把字符串类型的数字转成相对应的int bool类型
*/
/*
NSString *num1 = @"1";
NSString *num2 = @"2";
//int a = num1 + num2; ❌
int a = [num1 intValue] + [num2 intValue];
*/
#pragma mark --可变字符串 NSMutableString
//之前学的NSString的方法,NSMutableString都可以使用
//初始化可变字符串
// NSMutableString *s = @"asfg"; //虽然可以输出,但直接用@“”,s被编译器默认为是不可变的字符串
//方法前面是“-”,表示是一个实例方法(对象方法),用对象名去调用方法
// “+”表示是一个类方法,类方法用类名调用方法
// stringWithString 让一个字符串有一个字符串
// NSMutableString *s = [NSMutableString string];
// NSMutableString *string = [NSMutableString stringWithString:@"aslgl"];
// NSMutableString *string1 = [NSMutableString stringWithFormat:@"ags"];
/*❓❓❓ 为什么有可变不可变字符串
目的:为了让原有字符串可以添加内容,修改内容,删除内容
//可变字符串拼接
NSMutableString *string = [NSMutableString stringWithString:@"你好"];
[string appendString:@",北京"];
// int a = 10;
// [string appendFormat:@",北京%d",a]; 两种拼接都可以,是在原有基础上添加的,并且没有生成一个新的字符串
*/
//插入字符串
/*
NSMutableString *string = [NSMutableString stringWithString:@"你好"];
[string insertString:@"您" atIndex:1];
*/
//删除字符串
/*
NSRange range = {0,1};
NSMutableString *string = [NSMutableString stringWithString:@"你好"];
[string deleteCharactersInRange:range];
*/
// 替换字符串 注意要替换的长度
/*
NSMutableString *string = [NSMutableString stringWithString:@"你好"];
NSRange range = {0,1};
[string replaceCharactersInRange:range withString:@"您好好好好"];
NSLog(@"%@",string);
*/
}
return 0;
}