码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C----NSString 、 NSMutableString

时间:2015-06-20 10:35:46      阅读:210      评论:0      收藏:0      [点我收藏+]

标签:objective   nsstring   objetive-c   oc   

直接上代码:

//
//  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;
}




Objective-C----NSString 、 NSMutableString

标签:objective   nsstring   objetive-c   oc   

原文地址:http://blog.csdn.net/zhengang007/article/details/46572127

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!