NSString的详细用法


- (void)viewDidLoad {

    [superviewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

  

#pragma mark----字符串与基本数据类型转换------------------

    

   NSString *aa=@"123";

   int b=[aaintValue];

   float b2=[aafloatValue];

    BOOL b3 = [aaboolValue];// aa 转换为 布尔型(true /  false

   NSInteger b4 = [aaintegerValue]; // aa转换为整数型

   long b5 = [aalongLongValue];// aa转换为长整型

   

    

    

#pragma mark---- 字符串的截取,删除,查找-------

    

//    字符串截取到第n substringToIndex: n(n位不算再内)

    NSString  *a =@"i like long dress";

   NSString *C = [asubstringToIndex:4];

    

//    字符串从第n 位开始截取,直到最后 substringFromIndex:n)(包括第 n位)

  NSString *C2 = [asubstringFromIndex:4];

    

    

    

    NSMutableString *C3 = [[NSMutableString alloc]initWithString:@"123456798"];

 //可变字符串删除中间字符

    [C3 deleteCharactersInRange:NSMakeRange(1,2)];

    [C3 replaceCharactersInRange:NSMakeRange(1,2)withString:@"A"];

    

    NSLog(@" \n a:  %@\n",C3);

    

   NSRange tmprange =[C3rangeOfString:@"A"];

//字符串的查找

   if (tmprange.location!=NSNotFound) {

       NSLog(@"tmprange=%@",NSStringFromRange(tmprange));

    }else {

       NSLog(@"没有找到");

    }

    

    

    

#pragma mark----数组字符串转换方式(1)(有分割符)----

    

    

#pragma mark---字符串转数组

    //定义一个字符串

    NSMutableString * str=[[NSMutableStringalloc]initWithFormat:@"1,1,1,1,1,1"];

    //字符串根据逗号分隔符转换为不可变数组

    NSArray *arr=[strcomponentsSeparatedByString:@","];

    //字符串转变为可变数组

    NSMutableArray * array=[NSMutableArrayarrayWithArray:[str   componentsSeparatedByString:@","]];

    //替换数组中的第四个元素的个值

    [array replaceObjectAtIndex:4withObject:@"2"];

    

#pragma mark---数组转字符串

    //把数组转换成字符串

    NSString *ns=[arraycomponentsJoinedByString:@","];

    

    //将字符串整体作为分割条件返回值为NSArray不可变数组

//    NSArray * array = [num componentsSeparatedByString:@" "];

    

    //若修改,则将NSArray转化为NSMutableArray

    NSMutableArray * array1 = [NSMutableArrayarrayWithArray:array];

    

    

    NSArray * array2 = [nscomponentsSeparatedByCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@", "]];//以字符串中的字符作为分割条件进行分割

    

    

    

   #pragma mark----数组字符串转换方式(2)(无分割符)----

    

    

    //1通过查找的方式来(这方式适合所有格式的子符串,推荐使用)

    //遍历字符串得到的是字符串

   NSString *newStr =@"abcd1234tang";

   NSString *temp =nil;

    NSMutableArray *newArr=[[NSMutableArrayalloc]init];

   for(int i =0; i < [newStrlength]; i++)

    {

        temp = [newStrsubstringWithRange:NSMakeRange(i,1)];

       NSLog(@"%d个字是:%@",i,temp);

        [newArraddObject:temp];

    }

    

    

    

    

    //    (2)通过遍历字符的方式遍历字符串(只适合不包含中文的字符串)

    //遍历字符串得到的是字符,不能添加到数组中

   NSString *newStr2 =@"zheng345";

   unichar temp2;

    

   for(int i =0; i < [newStr2length]; i++)

    {

        temp2=[newStr2characterAtIndex:i];

       NSLog(@"%d个字符是:%hu",i, [newStr2 characterAtIndex:i]);

    }


    

//    字符串替换

    

//stringByReplacingCharactersInRange:range

    NSString *string =@"this is my name";

    

    

   for (int i =0; i<[stringlength]; i++) {

        //截取字符串中的每一个字符

       NSString *s = [stringsubstringWithRange:NSMakeRange(i,1)];

        NSLog(@"string is %@",s);

       if ([sisEqualToString:@"m"]) {

           NSRange range =NSMakeRange(i,1);

            //将字符串中的“m”转化为“w”

            string =   [string stringByReplacingCharactersInRange:rangewithString:@"w"];

            

        }

    }

   NSLog(@"%@",string);

    

 

    // 字符串转ascii

   NSString *stringValue=[NSStringstringWithFormat:@"01000435"];

   NSString * str2 = [stringValuesubstringWithRange:NSMakeRange(0,2)];

   NSInteger ar = [strintegerValue];

   char br = (char)(ar+64);

    

#pragma mark------ NSString ,int,char,unichar ascii互相转换--------

    

    

//    string 转成 char(1):

   char mychar[100];

   NSString * mystring=@"h";

   strcpy(mychar,(char *)[mystringUTF8String]);

    


    

//NSString to ASCII

   NSString *stringA =@"A";

   int asciiCodeA = [stringAcharacterAtIndex:0];// 65


    

// ASCII to NSString   (int char To NSString)

   int asciiCodeB =65;

   char asciiCodeB2=65;

   NSString *stringB = [NSStringstringWithFormat:@"%c", asciiCodeB];// A

   int i;

#pragma mark---根据ascii码得到对应字符

   for (int i =0 ; i <26 ; i ++) {

       unichar ch = i+65;

        //char[]NSString简单的方法

       NSString *str = [NSStringstringWithUTF8String:(constchar *)&ch];

        //NSLog(@"=========%@",str);

        //NSLog(@"-----------%d",i);

    }


 

    

    

    

// ASCII  ASCII to NSString2

//    (int) NSString to 

   NSString  *result=@"010000317";

    NSString *head=[resultsubstringWithRange:NSMakeRange(0,2)];

   int asciiCode = [headintValue]+64;

   NSString *asciiToString = [NSStringstringWithFormat:@"%c", asciiCode];// A

    

    

    

    

    

//

    

#pragma mark---------c语言字符串转成oc字符串---------

    

   char *Cstring ="This is a String!";   //C语言字符串

   NSString *astring = [[NSStringalloc]initWithCString:Cstring]; //转换

    

    

}



//判断字符串是否是整型:

+ (BOOL)isPureInt:(NSString*)string{

    

   NSScanner* scan = [NSScannerscannerWithString:string];

   int val;

   return[scanscanInt:&val] && [scanisAtEnd];

    

}

//判断字符串是否为浮点型:

+(BOOL)isPureFloat:(NSString*)string{

    

   NSScanner* scan = [NSScannerscannerWithString:string];

   float val;

   return[scanscanFloat:&val] && [scanisAtEnd];

    

}


github代码地址 https://github.com/tangzhengzheng1991/testNSString
















评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值