zoukankan      html  css  js  c++  java
  • Object-C中的字符串对象2-可变字符串

    //
    //  main.m
    //  字符串-可变字符串
    //
    //  Created by zhangqs008 on 14-2-13.
    //  Copyright (c) 2014年 zhangqs008. All rights reserved.
    //
    
    #import <Foundation/Foundation.h>
    
    int main(int argc, const char * argv[])
    {
        
        @autoreleasepool {
            
            NSString *str1=@"this is string A";
            NSString *search;
            NSString *replace;
            NSMutableString *mutableStr;
            NSRange subStr;
            
            //01.从不可变字符串创建可变字符串
            mutableStr=[NSMutableString stringWithString:str1];
            NSLog(@"01 %@",mutableStr);
            
            //02.插入字符,注意:是直接修改的字符串对象,无返回值
            [mutableStr insertString:@" mutable" atIndex:7];
            NSLog(@"02 %@",mutableStr);
            
            //03.插入末尾进行有效拼接
            [mutableStr insertString:@" and string B" atIndex:[mutableStr length]];
            NSLog(@"03 %@",mutableStr);
            
            //04.直接用appendString
            [mutableStr appendString:@" and string C"];
            NSLog(@"04 %@",mutableStr);
            
            //05.根据范围删除字符串 deleteCharactersInRange(从*开始,删除*个字符)
            [mutableStr deleteCharactersInRange:NSMakeRange(16,13)];
            NSLog(@"05 %@",mutableStr);
            
            //06.查找然后将其删除
            subStr=[mutableStr rangeOfString:@"string B and "];
            if(subStr.location!=NSNotFound)
            {
                [mutableStr substringWithRange:subStr];
                NSLog(@"06 %@",mutableStr);
                
            }
            
            //07.直接设置为可变字符串
            [mutableStr setString:@"this is string A"];
            NSLog(@"07 %@",mutableStr);
            
            //08.替换一些字符
            [mutableStr replaceCharactersInRange:NSMakeRange(8, 8) withString:@"a mutable string"];
            NSLog(@"08 %@",mutableStr);
            
            //09.查找和替换
            search=@"this is";
            replace=@"An example of";
            
            subStr=[mutableStr rangeOfString:search];
            if(subStr.location!=NSNotFound)
            {
                [mutableStr replaceCharactersInRange:subStr withString:replace];
                NSLog(@"09 %@",mutableStr);
            }
            
            //10.查找和替换所有匹配项
            search=@"a";
            replace=@"X";
            subStr=[mutableStr rangeOfString:search];
            while (subStr.location!=NSNotFound) {
                [mutableStr replaceCharactersInRange:subStr withString:replace];
                subStr=[mutableStr rangeOfString:search];
            }
            NSLog(@"10 %@",mutableStr);
            
            //也可以这样写
            [mutableStr replaceOccurrencesOfString:search withString:replace options:nil range:NSMakeRange(0, [mutableStr length])];
            
            NSLog(@"10 %@",mutableStr);
            
            
            
        }
        return 0;
    }
    

    输出结果:

    2014-02-13 20:38:30.074 05.字符串-可变字符串[997:303] 01 this is string A

    2014-02-13 20:38:30.076 05.字符串-可变字符串[997:303] 02 this is mutable string A

    2014-02-13 20:38:30.079 05.字符串-可变字符串[997:303] 03 this is mutable string A and string B

    2014-02-13 20:38:30.079 05.字符串-可变字符串[997:303] 04 this is mutable string A and string B and string C

    2014-02-13 20:38:30.080 05.字符串-可变字符串[997:303] 05 this is mutable string B and string C

    2014-02-13 20:38:30.080 05.字符串-可变字符串[997:303] 06 this is mutable string B and string C

    2014-02-13 20:38:30.081 05.字符串-可变字符串[997:303] 07 this is string A

    2014-02-13 20:38:30.081 05.字符串-可变字符串[997:303] 08 this is a mutable string

    2014-02-13 20:38:30.081 05.字符串-可变字符串[997:303] 09 An example of a mutable string

    2014-02-13 20:38:30.082 05.字符串-可变字符串[997:303] 10 An exXmple of X mutXble string

    2014-02-13 20:38:30.082 05.字符串-可变字符串[997:303] 10 An exXmple of X mutXble string

    Program ended with exit code: 0



  • 相关阅读:
    003 01 Android 零基础入门 01 Java基础语法 01 Java初识 03 Java程序的执行流程
    002 01 Android 零基础入门 01 Java基础语法 01 Java初识 02 Java简介
    001 01 Android 零基础入门 01 Java基础语法 01 Java初识 01 导学
    001 Android Studio 首次编译执行项目过程中遇到的几个常见问题
    Dora.Interception,为.NET Core度身打造的AOP框架 [2]:以约定的方式定义拦截器
    Dora.Interception,为.NET Core度身打造的AOP框架 [1]:更加简练的编程体验
    监视EntityFramework中的sql流转你需要知道的三种方式Log,SqlServerProfile, EFProfile
    轻量级ORM框架——第二篇:Dapper中的一些复杂操作和inner join应该注意的坑
    轻量级ORM框架——第一篇:Dapper快速学习
    CF888G Xor-MST(异或生成树模板)
  • 原文地址:https://www.cnblogs.com/zhangqs008/p/3618405.html
Copyright © 2011-2022 走看看