iOS与Android对比学习之NSString
来源:互联网 发布:网络文化建设申论 编辑:程序博客网 时间:2024/06/06 03:08
NSString类的使用
学习OC的应该都知道有个叫Foundation框架的东西,这个框架其实就是OC为我们提供的类的集合,就跟Java中的JDK一样,里面覆盖了大量的我们平常使用的类。而今天要学习的NSString也是这个框架里面的,它就是OC中的字符串类,而Java中则叫String。掌握了OC的基本语法,我们就可以直接使用这个类了。
#import <Foundation/Foundation.h>/** NSString类的使用 */void useNSString() { char *ch = "c hello"; NSString *str = @"hello"; /* OC C的字符串类型转换 */ //C --> OC NSLog(@"C转换的OC字符串:%@", [NSString stringWithUTF8String:ch]); //OC --> C NSLog(@"OC转换的C字符串:%s", [str UTF8String]); //格式化字符串 int a = 3; int b= 5; NSString *strFormat = [NSString stringWithFormat:@"a = %d,b = %d", a, b]; NSLog(@"格式化的字符串:%@", strFormat); //拼接字符串 NSString *appendStr = [strFormat stringByAppendingString: str]; NSLog(@"拼接的字符串:%@", appendStr); //大小写的转换 NSString *alpha = @"AfCu"; NSString *convert = [alpha lowercaseString]; NSLog(@"转换后的小写字符串:%@,转换后的大写字符串:%@", convert, [alpha uppercaseString]); //前缀、后缀的判断 NSString *fix = @"http://www.qq.com"; BOOL hasPrefix = [fix hasPrefix:@"https"]; NSLog(@"是否有对应的前缀:%@", hasPrefix ? @"true" : @"false"); BOOL hasSuffix = [fix hasSuffix:@".com"]; NSLog(@"是否有对应的后缀:%@", hasSuffix ? @"true" : @"false"); //判断字符串是否相等 NSString *stra = @"stra"; NSString *strb = @"strb"; BOOL equal = [stra isEqualToString:strb]; if (equal) { NSLog(@"字符串相等"); } else { NSLog(@"字符串不相等"); } //比较字符串 //NSComparisonResult //分割字符串 NSString *split = @"a,b,c,d,e,f,g"; NSArray *splitArray = [split componentsSeparatedByString:@","]; for (NSString *str in splitArray) { NSLog(@"分割后的字符串:%@", str); } //按照范围截取字符串 NSRange range = NSMakeRange(2, 5); NSString *rangeStr = [split substringWithRange: range]; NSLog(@"截取后的字符串:%@", rangeStr); //从某一位开始截取后面的字符串 int from = 3; NSString *rangeFrom = [split substringFromIndex: from]; NSLog(@"从%d位开始截取字符串为:%@", from, rangeFrom); //从开头截取到某一位 NSLog(@"从开头截取到某%d位的字符串:%@", from, [split substringToIndex: from]); //将字符串拆分为每一个字符 for (int i=0;i<[split length]; i++) { NSLog(@"字符串拆分为每一个字符:%c", [split characterAtIndex: i]); } //查找 NSString *findString = @"i love Java"; NSString *findStr = @"a"; NSRange findRange = [findStr rangeOfString: findStr]; NSLog(@"查找指定字符串%@的所在位置%d,其长度为%d", findStr, findRange.location, findRange.length); //替换 NSString *rawString = @"Hello Objective-C,Hello Java"; NSString *replaceString = [rawString stringByReplacingCharactersInRange: NSMakeRange(18, 5) withString: @"你好"]; NSLog(@"替换后的字符串:%@", replaceString);}int main(int argc, const char * argv[]) { @autoreleasepool { // insert code here... NSLog(@"Hello, World!"); useNSString(); } return 0;}
以上基本上是开发中对字符串常用的操作了,如果有其它的需求查看下API即可。不过这里我有点奇怪的是为什么OC的调用方法使用“[ ]”符号括起来,而NSLog则只使用“( )”呢?
另外还有可变字符串NSMutableString,在使用过成中可以动态的改变字符串内容。由于还没深入学习,但感觉类似Java中的StringBuilder。
0 0
- iOS与Android对比学习之NSString
- IOS学习之NSString
- iOS与Android对比学习之description方法
- iOS与Android对比学之NSNotificationCenter
- iOS与Android对比学之NSUserDefaults
- IOS学习之NSString详解
- iOS基础之OC:C与OC的对比,(NSString,NSLog)
- iOS与Android对比学习之类的声明与定义
- iOS学习之——NSString
- Android与ios对比之系统架构层
- 【Android与iOS开发对比系列】之 回调机制
- ios与android开发对比之Button-01
- IOS对比Android学习笔记
- iOS 与 Android 生命周期对比
- iOS 与 Android 生命周期对比
- iOS 与 Android 生命周期对比
- iOS 与 Android 生命周期对比
- Unity与Android对比学习之生命周期方法
- 什么是C++虚函数、虚函数的作用和使用方法
- PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to fin
- poj-2533-Longest Ordered Subsequence
- Vue基础学习
- LIBSVM在Matlab下的使用
- iOS与Android对比学习之NSString
- jQuery 鼠标移入移出事件切换
- ZJU P1610 count the colors
- 【面试题】数字在排序数组中出现的次数
- js第二课
- 8uftp使用教程
- 【Unet】Unet 物体的派生
- 关于matconvnet数据预处理方法的思考(一)
- Schlumberger Techlog 2011.2.2 Win32_64-ISO 2CD测井解释