Objective-C----NSString 、 NSMutableString

直接上代码:

//
//  main.m
//
//  Created by  on 15/4/2.
//  Copyright (c) 2015年 . All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Tire.h"

int main(int argc, const char * argv[]) {

    //NSString 类
    /*
     *  学习系统类需要把握一下几点:
     *  1、根据给定的初始化方法和便利构造器方法创建对象;
     *  2、根据需求使用实例方法完成对应的操作;
     *  3、学会看系统类的头文件;
     *  4、学会通过帮助文档来学习对应的方法。
     */

    //使用初始化方法创建
//    NSString *str1 = [[NSString alloc] initWithString:@"name"] ;
    NSString *str1 = @"name" ;
    NSLog( @"%@", str1 ) ;
//    NSString *str2 = [NSString stringWithString:@"name"] ;
    NSString *str2 = @"name" ;
    NSLog( @"%@", str2 ) ;

    char *cStr = "haha" ;
    //将C语言字符串转成OC的对象
    NSString *str3 = [[NSString alloc] initWithCString:cStr encoding:NSUTF8StringEncoding] ;
    NSLog( @"%@", str3 ) ;

    NSString *str4 = [NSString stringWithCString:cStr encoding:NSUTF8StringEncoding] ;
    NSLog( @"%@", str4 ) ;

    //根据指定格式创建字符串
    NSString *str5 = [[NSString alloc] initWithFormat:@"%@+%d", @"en", 1001] ;
    NSLog( @"%@", str5 ) ;

    NSString *str6 = [NSString stringWithFormat:@"%@+%d", @"ne", 10014] ;
    NSLog( @"%@", str6 ) ;

    //根据指定路径的文件内容创建字符串对象
    NSString *str7 = [[NSString alloc] initWithContentsOfFile:@"/Users/lanouhn/Desktop/test.txt" encoding:NSUTF8StringEncoding error:nil] ;
    NSLog( @"%@", str7 ) ;

//    NSError *err = [NSError init] ;
    NSString *str8 = [NSString stringWithContentsOfFile:@"/Users/lanouhn/Desktop/words.txt" encoding:NSUTF8StringEncoding error:nil] ;
    NSLog( @"%@", str8 ) ;

    //求字符串对象的长度
    NSInteger length = [str8 length] ;
    NSLog( @"%ld", length ) ;

    //判断一个字符串对象是否拥有前缀字符串
    BOOL result1 = [str8 hasPrefix:@"If"] ;
    NSLog( @"%@", result1 ? @"YES" : @"NO" ) ;

    //判断一个字符串对象是否拥有后缀
    BOOL result2 = [str8 hasSuffix:@"en"] ;
    NSLog( @"%@", result2 ? @"YES" : @"NO" ) ;

    //判断一个字符串对象是否和另一个字符串对象相同
    BOOL result3 = [str8 isEqualToString:str7] ;
    NSLog( @"%@", result3 ? @"YES" : @"NO" ) ;
    NSLog( @"%d", result3 ) ;

    //字符串比较排序结果
    NSComparisonResult result4 = [str8 compare:str7] ;
    NSLog( @"%ld", result4 ) ;

    //获取子字符串
    //从指定下标的字符开始(包含改字符)到字符串结束的子字符串,下标从 0 开始。
    NSString *subStr1 = [str8 substringFromIndex:1] ;
    NSLog( @"%@", subStr1 ) ;

    //从下标为0的字符开始到指定的下标结束 ,此范围内的字符串
    NSString *subStr2 = [str8 substringToIndex:2] ;
    NSLog( @"%@", subStr2 ) ;

    //NSRange 为结构体类型, 成员location描述下标位置,成员length描述需要截取的字符串长度
    NSRange rang = NSMakeRange(1, 3) ;
//    rang.length = 4 ;
//    rang.location = 2 ;
    NSString *subStr3 = [str8 substringWithRange:rang] ;
    NSLog( @"%@", subStr3 ) ;

    //字符串拼接
    //根据给定的参数字符串拼接并产生新的字符串,不改变原有的字符串。(不可变字符串)
    NSString *newString1 = [str8 stringByAppendingString:@"+100"] ;
    NSLog( @"%@", newString1 ) ;

    //根据给定的格式串以及参数拼接产生新的字符串
    NSString *newString2 = [str8 stringByAppendingFormat:@"%d", 1001] ;
    NSLog( @"%@", newString2 ) ;

    //路径拼接
    NSString *newString3 = [str8 stringByAppendingPathComponent:@"xx.avi"] ;
    NSLog( @"%@", newString3 ) ;

    //字符串替换
    //通过给定的第二字符串替换str8中存在的字符串,所有的都替换
    NSString *newString4 = [str8 stringByReplacingOccurrencesOfString:@"e" withString:@"呵呵"] ;
    NSLog( @"%@", newString4 ) ;

    //字符串与数值类型数据的转换
    NSString *numString1 = @"1" ;
    NSInteger integerValue = [numString1 integerValue] ;
    NSLog( @"%ld", integerValue ) ;
    float integerValue1 = [numString1 floatValue] ;
    NSLog( @"%f", integerValue1 ) ;

    //大小写转换
    NSString *string = @" i love you" ;
    //转成大写字符
    NSString *upperCaseStr = [string uppercaseString] ;
    NSLog( @"%@", upperCaseStr ) ;
    //转成小写字符
    NSString *lowercaseStr = [upperCaseStr lowercaseString] ;
    NSLog( @"%@", lowercaseStr ) ;

    //转成首字母大写字符串(每个字符串的首字母转成大写的)
    NSString *capitalString = [string capitalizedString] ;
    NSLog( @"%@", capitalString ) ;

    /*
     *  可变字符串
     *
     *  NSMutableString
     *
     */

    NSMutableString *mutableStr1 = [[NSMutableString alloc] init] ;
    NSLog( @"%@", mutableStr1 ) ;
    NSMutableString *mutableStr2 = [NSMutableString string] ;

    //可变字符串的拼接
    [mutableStr1 appendString:@"abcdef"] ;
    NSLog( @"%@", mutableStr1 ) ;
    NSString *resultString = [mutableStr1 stringByAppendingString:@"xxxx"] ;

    NSLog( @"%@", resultString ) ;
    NSLog( @"%@", mutableStr1 ) ;

    //另一个字符串拼接方法
    //stringByAppendingFormat : appendFormat
    [mutableStr2 appendFormat:@"wang+%d", 1001] ;
    NSLog( @"%@", mutableStr2 ) ;

    //删除字符串
    [mutableStr2 deleteCharactersInRange:NSMakeRange(2, 4)] ;
    NSLog( @"%@", mutableStr2 ) ;

    //插入字符串
    //在给定的下标之前插入指定的字符串(前插)
    [mutableStr2 insertString:@"123" atIndex:2] ;
    NSLog( @"%@", mutableStr2 ) ;

    //替换字符串
    //根据给定的字符串的替换指定范围的字符们
    [mutableStr2 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"xxx"] ;
    NSLog( @"%@", mutableStr2 ) ;

     /*
     *  练习一:
     *
     *   给定一个图片文件名,判断字符串中是否以
     *  “png”结尾,如果是就替换成“jpg”,如果 不是,就拼接”.jpg”。
     */

    //不可变 字符串
    NSString *practiceStr = @"wang/zhen/gang/.png" ;
    if ( [practiceStr hasSuffix:@"png"] ) {
        NSLog( @"%@", [practiceStr stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"] ) ;
    }
    else {
        NSLog( @"%@", [practiceStr stringByAppendingString:@".jpg"] ) ;
    }

    //可变 字符串
    NSMutableString *practiceMutableStr = [[NSMutableString alloc] initWithString:@"wang.png"] ;
//    [practiceMutableStr appendString:@"wang.png"] ; // 注意 NSMutableSring 的初始化 不能用 语法糖

    if ( [practiceMutableStr hasSuffix:@"png"] ) {
//        NSLog( @"%@", [practiceMutableStr stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"]) ;
        [practiceMutableStr replaceCharactersInRange:[practiceMutableStr rangeOfString:@"png"] withString:@"jpg"] ;
    }
    else {
        [practiceMutableStr appendString:@".jpg"] ;
    }
    NSLog( @"%@", practiceMutableStr ) ;

    return 0;
}

时间: 2024-10-13 10:02:41

Objective-C----NSString 、 NSMutableString的相关文章

Foundation框架(NSString、NSMutableString)

OC字符串(NSString.NSMutableString) 概述:在Object C中存在两个类用于操作字符串,NSString和NSMutableString;NSString在赋值之后不能修改其内容和长度,而NSMutableString可以动态的修改字符串内容和长度. 一.NSString 1.NSString的多种定义方式 1)使用@符号快速创建一个字符串 NSString *str1 = @“jack”; 2)使用对象初始化方法 initWithString  NSString *

NSString、NSMutableString基本用法

郝萌主倾心贡献,尊重作者的劳动成果,请勿转载. 如果文章对您有所帮助,欢迎给作者捐赠,支持郝萌主,捐赠数额随意,重在心意^_^ 我要捐赠: 点击捐赠 Cocos2d-X源码下载:点我传送 游戏官方下载:http://dwz.cn/RwTjl 游戏视频预览:http://dwz.cn/RzHHd 游戏开发博客:http://dwz.cn/RzJzI 游戏源码传送:http://dwz.cn/Nret1 NSString其实是一个对象类型.NSString是NSObject(Cocoa Founda

(Foundation)NSObject 、 NSString 、 NSMutableString

1 重构Student和Book类 1.1 问题 本案例需要创建一个Book类,类中有一个整型price属性,用于记录书的价格.还需要创建一个Student类,类中有两个带参属性,它们是整型的年龄age和类Book类型的book,分别用于存储学生的年龄和学生正在学习的书,book属性带有copy参数,并且有一个study方法,用于显示年龄为age的学生学习价格为book.price的书. 在主程序中创建Student类的一个对象和Book类的两个对象,首先让Student类的对象拥有一个Book

Foundation 框架之——NSString、NSMutableString 一

1 //字符串的创建 2 NSString *s1 = @"Rose"; 3 4 // 作用相当于s1,基本不用 5 // 警告:Using 'initWithString:' with a literal is redundant 6 // 用“initWithString:“是多余的 7 NSString *s2 = [[NSString alloc] initWithString:@"Rose"]; 8 9 10 NSString *s3 = [[NSStri

&lt;&lt;黑马程序员&gt;&gt;NSString 和 NSMutableString 的使用

NSString.NSMutableString基本用法 NSString其实是一个对象类型.NSString是NSObject的子类 一.NSString的创建 1.创建常量字符串.NSString *astring = @"This is a String!"; 2.创建空字符串,给予赋值.NSString *astring = [[NSString alloc] init];astring = @"This is a String!";[astring rel

IOS阶段学习第13天笔记(NSString与NSMutableString)

IOS学习(OC语言)知识点整理 一.OC字符串的操作 1)OC中字符串分为两种: 1.不可变字符串NSString:不能修改对象内容,但是可以改变对象的指针. 2.可变字符串NSMutableString:可以修改对象内容. 二.NSString 不可变字符串的操作 1)将字符串常量对象直接赋值给字符串引用 NSString *[email protected]"hello"; 字符串对象的输出格式:NSLog(@"str1=%@",str1). 2)initWi

Foundation框架-NSString和NSMutableString

可变与不可变的字符串 --1-- Foundation框架介绍 1.1 框架介绍 --2-- NSString 2.1 NSString介绍及使用 2.2 NSString创建方式  2.3 从文件中读取/存储字符串 2.4 字符串的比较 2.5 前后缀检查及搜索 2.6 字符串的截取和替换 2.7 获取字符串的每个字符 2.8 字符串和其他数据类型转换 2.9 NSString去除空格  --3-- NSMutableString 3.1 NSMutableString 基本概念 3.2 字符

OC之字符串 NSString与NSMutableString

一.NSString 不可变字符串的操作1)将字符串常量对象直接赋值给字符串引用 NSString *[email protected]"hello"; 字符串对象的输出格式:NSLog(@"str1=%@",str1). 2)initWithString可将OC中的字符串对象构建字符串引用  NSString *str2=[[NSString alloc]initWithString:str1]; . 3)initWithUTF8String可将C语言的字符串创建

NSString 和 NSMutableString

// //  main.m //  字符串(NSString&NSMutableString) // //  Created by 闫合 on 16/5/19. //  Copyright © 2016年 闫合. All rights reserved. // #pragma mark NSString 和 NSMutableString #import <Foundation/Foundation.h> int main(int argc, const char * argv[])

关于NSString和NSMutableString的相关用法和基本介绍

Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值.而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度. NSString 常用方法总结 +(id)stringWithContentsOfFile:path encoding:enc err 创建一个新字符串并将其设置为 path 指定文件的内容,使用