------Java培训、Android培训、iOS培训、.Net培训、期待与您交流! -------
今天来总结一下NSString一些常见的用法。
1、字符串的截取
从xx位置开始,到最后结束,包括xx:
substringFromIndex: XX
从开始位置到指定位置xx,不包括xx:
substringToIndex: XX
按rang变量内容截取一个范围
substringWithRange:rang
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str = @"http://www.baidu.com";
//从xx位置开始,到最后结束,包括xx
NSString *str1 = [str substringFromIndex:5];
NSLog(@"str3=%@",str1);
//从开始位置到指定位置xx,不包括xx
NSString *str2 = [str substringToIndex:5];
NSLog(@"str3=%@",str2);
//截取一个范围
NSRange r1 = {5,6};
NSString *str3 = [str substringWithRange:r1];
NSLog(@"str3=%@",str3);
}
return 0;
}
打印: str3=//www.baidu.com
str3=http:
str3=//www.
再看一个例子:将“传智博客”截取出来
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
/* NSString *str = @"http://www.baidu.com";
//从xx位置开始,到最后结束,包括xx
NSString *str1 = [str substringFromIndex:5];
NSLog(@"str3=%@",str1);
//从开始位置到指定位置xx,不包括xx
NSString *str2 = [str substringToIndex:5];
NSLog(@"str3=%@",str2);
//截取一个范围
NSRange r1 = {5,6};
NSString *str3 = [str substringWithRange:r1];
NSLog(@"str3=%@",str3);*/
NSString *str = @"<itcast>传智播客</itcast>";
//> 的location+1
//</的location
NSUInteger loc1 = [str rangeOfString:@">"].location+1;
NSUInteger len = [str rangeOfString:@"</"].location-loc1;
NSRange r = {loc1,len};
//截取,使用substringWithRange方法
NSString *subStr = [str substringWithRange:r];
NSLog(@"subStr=%@",subStr);
}
return 0;
}
2、字符串的替换
将字符串中的A替换为B
stringByReplacingOccurrencesOfString:A withString:B
举例:@"dhfuhhahfijfaihfhadhufafjigaga" 将字符串中的a替换为*
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
//@"dhfuhhahfijfaihfhadhufafjigaga"
//将字符串中的a替换为*
NSString *str=@"dhfuhhahfijfaihfhadhufafjigaga";
//使用stringByReplacingOccurrencesOfString:withString:方法
NSString *str2=[str stringByReplacingOccurrencesOfString:@"a" withString:@"*"];
NSLog(@"str2=%@",str2);
}
return 0;
}
打印:str2=dhfuhh*hfijf*ihfh*dhuf*fjig*g*
3、获取字符串中某个字符
用- (unichar)characterAtIndex:(NSUInteger)index;方法
index为要获取字符的位置
4、字符串和其他数据类型转换, 用下面三个函数可以将字符中 数字转换为相应基本数据类型
intValue 转换为int类型
floatValue 转换为float类型
doubleValue 转换为double类型
5、OC的字符串和C的字符串相互转换
stringWithUTF8String: C->OC
UTF8String OC->C
6、去除字符串中首尾空格
stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]
代码实现上述函数:
#import <Foundation/Foundation.h>
int main(int argc, const char * argv[]) {
@autoreleasepool {
NSString *str=@"abcdefg";
//(1)获取字符串中某个字符。characterAtIndex:
unichar getc = [str characterAtIndex:3];
NSLog(@"getc=%c",getc);
//(2)字符串和其他数据类型转换
NSString *str1=@"1";
NSString *str2=@"3.14";
int a =7;
//将“1”转换为int类型的1
int sum =a+[str1 intValue];
NSLog(@"sum=%d",sum);
//将“3.14”转换为float类型的
float sum1=a+[str2 floatValue];
NSLog(@"sum2=%.2f",sum1);
//将“3.14”转换为double类型的
double sum2=a+[str2 doubleValue];
NSLog(@"sum3=%.2f",sum2);
//(3)OC的字符串和C的字符串相互转换
//1)C->OC
char *cs="ChangsuMei";
NSString *ocs = [NSString stringWithUTF8String:cs];
NSLog(@"ocs=%@",ocs);
//2)OC->C
NSString *ocs1=@"LangYaBang";
const char *cs1 = [ocs1 UTF8String];
printf("cs1=%s\n",cs1);
//(4)NSString去除首尾空格
NSString *str3 = @" Hello FeiLiu! ";
str3 = [str3 stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
NSLog(@"---%@----",str3);
}
return 0;
}
打印: getc=d
sum=8
sum2=10.14
sum3=10.14
ocs=ChangsuMei
cs1=LangYaBang
---Hello FeiLiu!----