ios开发中字符串的常用功能总结

1.分割字符串

  NSString * str1 = @"123/456";

  NSArray * arr1 = [str1 componentsSeparatedByString:@"/"];  //根据 "/" 把字符串分割

2.截取字符串字符串下标从0开始数

  (1)截取到第N位(不包含第N位)

    NSString * str = @"123456";        

    NSString * str1 = [str substringToIndex: 3];

    str1的结果为:123

  (2)从第N位开始截取,直到最后(包含第N位)

    NSString * str = @"123456";

    NSString * str1 = [str substringFromIndex:3];

    str1的结果为:456

  (3)从第N位开始截取,截取到第M位

    NSString * str = @"123456";

    NSString * str1 = [str substringWithRange:NSMakeRange(2,2)];

    str1的结果为:34

3.动态分配内存(malloc

    详细解析参考(http://www.cnblogs.com/Alex-Phoenix/p/4654201.html).

    一般是用于创建一个char * 指针的时候没有初始化内存指向,用malloc动态的分配内存地址.

    char *p = malloc(1000);//传参,这里是1000字节.

  p[0];//+1是加1个字节得到长度(这里0是指第一个).  

 

  通过p[x]可以使用他的每一个字节空间.

 

4.内存空间初始化(memset

    memset()的深刻内涵:用来对一段内存空间全部设置为某个字符,一般用在对定义的字符串进行初始化为‘ ’或‘/0’

    memset
    原型:extern void *memset(void *buffer, int c, int count);
    用法:#i nclude
    功能:把buffer所指内存区域的前count个字节设置成字符c。
    说明:返回指向buffer的指针。

 char str[100];
 memset(str,0,100);

5.内存拷贝(memcpy

原型:extern void *memcpy(void *dest, void *src, unsigned int count);
用法:#i nclude
功能:由src所指内存区域复制count个字节到dest所指内存区域。
说明:src和dest所指内存区域不能重叠,函数返回指向dest的指针。

   char m[100] = "ertyuuiiiioooopoppppppppuiutyuytuytuytu";

   char n[50] = "1234567890";

   memcpy(m, n, 10);

   //输出结果

    m = "1234567890oooopoppppppppuiutyuytuytuytu"

 

 

 

 

posted @ 2017-04-07 15:53  日月哥哥  阅读(204)  评论(0编辑  收藏  举报