//
// main.m
// oc 04属性&字符串
//
// Created by dllo on 15/10/27.
// Copyright (c) 2015年 dllo. All rights reserved.
//
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
/****************************字符串**********************************/
//NSString *str1 = [[NSString alloc]initWithString:@"qingcun"];
//初始化
// NSString *str1 = [NSString stringWithString:@"sd"];
// 构造器
//字面量,常写语法
// NSString * str3 = @"qingc";
//实用方法 - 常用作不同类型变量转换为nsstring *类型
NSString * str4 = [NSString stringWithFormat:@"qc%d%@", 2,@"qingchun"];
//输出结果qc2
NSLog(@"%@", str4);
//2长度
//NSLog(@"%ld", str3.length);
//sub 子集 append 添加 replace 代替
//3子串 - 关键字sub
//NSString * strVal = @"qingchung";
//从哪个下标开始- 结果返回到str5中
//注意下标从0开始
//NSString * str5 = [strVal substringFromIndex:2];
//从第二个开始结果 ngchung
//NSLog (@"%@", str5);
//NSString * str5 = [strVal substringToIndex:5];
//到第几个结束
//NSLog (@"%@", str5);
//范围取子串
//注意,1, NSRange 为结构体类型;
//2 {2, 3} 2-起始位置 3-结束位置
// NSRange range = {2, 4};
// NSString * str5 =[strVal substringWithRange:range];
//
// 4 , 拼接 append
// NSString * str1 = @"qingchung";
// NSString * str2 = @"wangjing";
//str1 = [str1 stringByAppendingString:str2];
// NSLog(@"%@",str1);
//按格式拼接,一次性可以拼多个字符串..尤其是当字符串和数字拼接的时候不用转码
// NSString *p =[str1 stringByAppendingFormat:@"%@%d", str2, 4];
// NSLog(@"%@",p);
//5 replac 替换
// NSString *strVal = @"qingchun";
//替换所有与指定字符串相匹配的字符串
// NSString *str10 = [strVal stringByReplacingOccurrencesOfString:@"ing" withString:@"aaa"];
// NSLog(@"%@", str10);
// NSRange range= {2, 3};
//第2个开始 ,3 个长度
// NSString *str11 = [strVal stringByReplacingCharactersInRange:range withString:@"aaaaaa"];
// NSLog(@"%@", str11);
//6 判断比较
//NSString *strVal = @"qingchunging";
//判断相等 -使用频率很高
// BOOL ret = [strVal isEqualToString:@"aaa"];
// NSLog(@"%d", ret);
// 判断大小(包括相等)
// NSComparisonResult ret1= [strVal compare:@"sds"];
// NSLog(@"%ld", ret1);
// 很实用的方法
//判断开头
NSString *strVal = @"qingchunging";
BOOL ret2 = [strVal hasPrefix:@"sd"];
NSLog(@"%d", ret2);
//判断结尾
// BOOL ret3 =[strVal hasSuffix:@"sdaf"];
// NSLog(@"%d", ret3);
//7, 转换
//NSString *strVal = @"qingchunging";
//字符串类型转换成其他类型
// NSString *strval = @"2";
//doubleValue intValue intergerValue boolValue
//注意 其他类型转字符串类型用"...format"
//int ret = [strval intValue];
// NSLog(@"%d",ret);
//
// NSString *strval1 = @"2.2";
// float ret1 = [strval floatValue];
// NSLog(@"%f",ret1);
//
//大小写转换
// NSString * strVal = @"aingchun";
//转小写
// NSString * str13 = [ strVal lowercaseString];
// NSLog(@"%@", str13);
//
//转大写
// NSString *str14 = [ strVal uppercaseString];
// NSLog(@"%@", str14);
//首字母转大写
//注意,不仅将首字母转大写,还将其他字母转小写
// NSString *str14 = [strVal capitalizedString];
// NSLog(@"%@", str14);
// 判断图片的结尾是不是png结尾的
// NSString *strval = @"avi.com";
// NSString *str = nil;
// BOOL ret = [strval hasSuffix:@"png"];
// if (ret == 1) {
// str = [strval stringByReplacingOccurrencesOfString:@"com" withString:@"png"];
// } else {
// str = [strval stringByAppendingString:@".jpg"];
// }
// NSLog(@"%@", str);
//可变字符串- 改变的是同一空间的内容,不可变的字符串,一旦创建后就不可改变,若想操作需要将改变结果移到新的空间并返回
NSMutableString *strval = [NSMutableString stringWithFormat:@"qingchun"];
//插入
[strval insertString:@"aaa" atIndex:2];
NSLog(@"插入%@", strval);
//拼接
[strval appendString:@".jpg"];
NSLog(@"拼接%@", strval);
//格式化拼接
[strval appendFormat:@"%@%d",@".jpg", 2];
NSLog(@"格式化拼接%@", strval);
//删除
NSRange range = {2, 3};
[strval deleteCharactersInRange:range];
NSLog(@"删除%@", strval);
return 0;
}