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

时间:2023-03-08 17:28:42

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"