Note-02-字符串处理

原创 2015年11月18日 18:59:46
//
//  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;
}










相关文章推荐

hihoCoder - 1103 - Colorful Lecture Note(栈、字符串处理)

#1103 : Colorful Lecture Note 时间限制:10000ms       单点时限:1000ms       内存限制:256MB 描述Little Hi is wr...

html-note02_表格表单

一、表格完整结构   边框 内容到边框的距离 单元格到单元格之间的距离                                                     ...

Note02--前端开发环境

1. 代码编辑工具 a. 轻量级:Sublime b. IDE:webstrom 2. 断点调试工具 a. chrome插件:Batarang 3. 版本管理工具 a....

JavaScript_note02

1、表达式与运算符     表达式:由操作数和运算符组成的式子         var x; 6;         var y = x++ / (x-- + x++)*x--;    ...

<Pro ASP.NET MVC 5> - Note02

CHAPTER 3: The MVC Pattern Building Loosely Coupled Components Implement an interface that de...

Note On <Programming Entity Framework 2nd Edition> -02: How to Use SqlExpress Profiler 2.0

Chapter3: Querying Entity Data Models The example code of Entity SQL in this chapter at page 57 does...

Python 核心编程笔记_Chapter_6_Note_1 序列_字符串_列表_元组

基本概念都差不多了,不过看到一些内容之前没记录过,还是记录下。 顺序排序是从0开始到N-1结束 倒序排列是从N-1结束,到-1结束 很容易忽视的一个倒序基础知识 切片索引的更...

Python 核心编程笔记_Chapter_2 Note_3_赋值与变量_字符串_列表list_元组tuple_字典dict

 Python 中变量名规则与其它大多数高级语言一样, 都是受C 语言影响(或者说这门语言 本身就是C 语言写成的)。变量名仅仅是一些字母开头的标识符--所谓字母开头--意指大 写或小写字母...

libCEF总结02字符串-16.09.09

  • 2016年09月09日 09:06
  • 4KB
  • 下载

Python 语言及其应用 Chapter_2_Note_1 熟悉字符串_字符串函数

 这里补个基础知识,关于字符串的操作 poem = '''All that doth flow we cannot liquid name Or else would fire an...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Note-02-字符串处理
举报原因:
原因补充:

(最多只允许输入30个字)