Objective-C----NSString 、 NSMutableString
2015-06-20 09:42
363 查看
直接上代码:
// // main.m // // Created by on 15/4/2. // Copyright (c) 2015年 . All rights reserved. // #import <Foundation/Foundation.h> #import "Tire.h" int main(int argc, const char * argv[]) { //NSString 类 /* * 学习系统类需要把握一下几点: * 1、根据给定的初始化方法和便利构造器方法创建对象; * 2、根据需求使用实例方法完成对应的操作; * 3、学会看系统类的头文件; * 4、学会通过帮助文档来学习对应的方法。 */ //使用初始化方法创建 // NSString *str1 = [[NSString alloc] initWithString:@"name"] ; NSString *str1 = @"name" ; NSLog( @"%@", str1 ) ; // NSString *str2 = [NSString stringWithString:@"name"] ; NSString *str2 = @"name" ; NSLog( @"%@", str2 ) ; char *cStr = "haha" ; //将C语言字符串转成OC的对象 NSString *str3 = [[NSString alloc] initWithCString:cStr encoding:NSUTF8StringEncoding] ; NSLog( @"%@", str3 ) ; NSString *str4 = [NSString stringWithCString:cStr encoding:NSUTF8StringEncoding] ; NSLog( @"%@", str4 ) ; //根据指定格式创建字符串 NSString *str5 = [[NSString alloc] initWithFormat:@"%@+%d", @"en", 1001] ; NSLog( @"%@", str5 ) ; NSString *str6 = [NSString stringWithFormat:@"%@+%d", @"ne", 10014] ; NSLog( @"%@", str6 ) ; //根据指定路径的文件内容创建字符串对象 NSString *str7 = [[NSString alloc] initWithContentsOfFile:@"/Users/lanouhn/Desktop/test.txt" encoding:NSUTF8StringEncoding error:nil] ; NSLog( @"%@", str7 ) ; // NSError *err = [NSError init] ; NSString *str8 = [NSString stringWithContentsOfFile:@"/Users/lanouhn/Desktop/words.txt" encoding:NSUTF8StringEncoding error:nil] ; NSLog( @"%@", str8 ) ; //求字符串对象的长度 NSInteger length = [str8 length] ; NSLog( @"%ld", length ) ; //判断一个字符串对象是否拥有前缀字符串 BOOL result1 = [str8 hasPrefix:@"If"] ; NSLog( @"%@", result1 ? @"YES" : @"NO" ) ; //判断一个字符串对象是否拥有后缀 BOOL result2 = [str8 hasSuffix:@"en"] ; NSLog( @"%@", result2 ? @"YES" : @"NO" ) ; //判断一个字符串对象是否和另一个字符串对象相同 BOOL result3 = [str8 isEqualToString:str7] ; NSLog( @"%@", result3 ? @"YES" : @"NO" ) ; NSLog( @"%d", result3 ) ; //字符串比较排序结果 NSComparisonResult result4 = [str8 compare:str7] ; NSLog( @"%ld", result4 ) ; //获取子字符串 //从指定下标的字符开始(包含改字符)到字符串结束的子字符串,下标从 0 开始。 NSString *subStr1 = [str8 substringFromIndex:1] ; NSLog( @"%@", subStr1 ) ; //从下标为0的字符开始到指定的下标结束 ,此范围内的字符串 NSString *subStr2 = [str8 substringToIndex:2] ; NSLog( @"%@", subStr2 ) ; //NSRange 为结构体类型, 成员location描述下标位置,成员length描述需要截取的字符串长度 NSRange rang = NSMakeRange(1, 3) ; // rang.length = 4 ; // rang.location = 2 ; NSString *subStr3 = [str8 substringWithRange:rang] ; NSLog( @"%@", subStr3 ) ; //字符串拼接 //根据给定的参数字符串拼接并产生新的字符串,不改变原有的字符串。(不可变字符串) NSString *newString1 = [str8 stringByAppendingString:@"+100"] ; NSLog( @"%@", newString1 ) ; //根据给定的格式串以及参数拼接产生新的字符串 NSString *newString2 = [str8 stringByAppendingFormat:@"%d", 1001] ; NSLog( @"%@", newString2 ) ; //路径拼接 NSString *newString3 = [str8 stringByAppendingPathComponent:@"xx.avi"] ; NSLog( @"%@", newString3 ) ; //字符串替换 //通过给定的第二字符串替换str8中存在的字符串,所有的都替换 NSString *newString4 = [str8 stringByReplacingOccurrencesOfString:@"e" withString:@"呵呵"] ; NSLog( @"%@", newString4 ) ; //字符串与数值类型数据的转换 NSString *numString1 = @"1" ; NSInteger integerValue = [numString1 integerValue] ; NSLog( @"%ld", integerValue ) ; float integerValue1 = [numString1 floatValue] ; NSLog( @"%f", integerValue1 ) ; //大小写转换 NSString *string = @" i love you" ; //转成大写字符 NSString *upperCaseStr = [string uppercaseString] ; NSLog( @"%@", upperCaseStr ) ; //转成小写字符 NSString *lowercaseStr = [upperCaseStr lowercaseString] ; NSLog( @"%@", lowercaseStr ) ; //转成首字母大写字符串(每个字符串的首字母转成大写的) NSString *capitalString = [string capitalizedString] ; NSLog( @"%@", capitalString ) ; /* * 可变字符串 * * NSMutableString * */ NSMutableString *mutableStr1 = [[NSMutableString alloc] init] ; NSLog( @"%@", mutableStr1 ) ; NSMutableString *mutableStr2 = [NSMutableString string] ; //可变字符串的拼接 [mutableStr1 appendString:@"abcdef"] ; NSLog( @"%@", mutableStr1 ) ; NSString *resultString = [mutableStr1 stringByAppendingString:@"xxxx"] ; NSLog( @"%@", resultString ) ; NSLog( @"%@", mutableStr1 ) ; //另一个字符串拼接方法 //stringByAppendingFormat : appendFormat [mutableStr2 appendFormat:@"wang+%d", 1001] ; NSLog( @"%@", mutableStr2 ) ; //删除字符串 [mutableStr2 deleteCharactersInRange:NSMakeRange(2, 4)] ; NSLog( @"%@", mutableStr2 ) ; //插入字符串 //在给定的下标之前插入指定的字符串(前插) [mutableStr2 insertString:@"123" atIndex:2] ; NSLog( @"%@", mutableStr2 ) ; //替换字符串 //根据给定的字符串的替换指定范围的字符们 [mutableStr2 replaceCharactersInRange:NSMakeRange(0, 3) withString:@"xxx"] ; NSLog( @"%@", mutableStr2 ) ; /* * 练习一: * * 给定一个图片文件名,判断字符串中是否以 * “png”结尾,如果是就替换成“jpg”,如果 不是,就拼接”.jpg”。 */ //不可变 字符串 NSString *practiceStr = @"wang/zhen/gang/.png" ; if ( [practiceStr hasSuffix:@"png"] ) { NSLog( @"%@", [practiceStr stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"] ) ; } else { NSLog( @"%@", [practiceStr stringByAppendingString:@".jpg"] ) ; } //可变 字符串 NSMutableString *practiceMutableStr = [[NSMutableString alloc] initWithString:@"wang.png"] ; // [practiceMutableStr appendString:@"wang.png"] ; // 注意 NSMutableSring 的初始化 不能用 语法糖 if ( [practiceMutableStr hasSuffix:@"png"] ) { // NSLog( @"%@", [practiceMutableStr stringByReplacingOccurrencesOfString:@"png" withString:@"jpg"]) ; [practiceMutableStr replaceCharactersInRange:[practiceMutableStr rangeOfString:@"png"] withString:@"jpg"] ; } else { [practiceMutableStr appendString:@".jpg"] ; } NSLog( @"%@", practiceMutableStr ) ; return 0; }
相关文章推荐
- Objective-C----NSDictionary、NSMutableDictionary
- Objective-C----NSArray、NSMutableArray
- [玩玩Objective-C]之类和对象
- Object.create(): the New Way to Create Objects in JavaScript
- Object properties in JavaScript
- How to list the properties of a JavaScript object
- Swift项目中调用Objective-C的库
- Objective-C 语法之 NSURL
- objective C using a string to call a method
- [Object-c] 在ios程序中自动滚动TableView到某行的方法
- JMX之ObjectName
- \'RegistrationForm\' object has no attribute \'clean_data 语法变更
- Objective-C----继承
- Could not reserve enough space for object heap解决办法
- Objective-C程序设计第三章:类,对象和方法
- Objective-C----@class 和 #import
- Objective-C----初识Objective-C
- Objective-C中一个方法如何传递多个参数的理解
- Objective-c中的相对路径和绝对路径
- <NSCoding>存储数据 archivedDataWithRootObject unarchiveObjectWithData