【Foundation Frame】NSString

NSString代表字符序列不可变的字符串,功能更强大,更方便简单。

下面代码列举了大部分常用的NSString方法。

//

//  main.m

//  OcString

//

//  Created by mac on 14-12-2.

//  Copyright (c) 2014年
mac. All rights reserved.

//

#import
<Foundation/Foundation.h>

void dynamicCreateString()

{

//1

NSString *str1 =
@"neusoft i love you";

NSLog(@"%@",str1);

//2

NSString *str2 = [[NSString
alloc]init];

[str2 release];

//使用oc字符串付初值

NSString *str3 = [[NSString
alloc]initWithString:str1];

NSLog(@"%@",str3);

[str3 release];

//使用c语言的字符串初始化

NSString *str4 = [[NSString
alloc]
initWithUTF8String:"I love you"];

NSLog(@"%@",str4);

[str4 release];

//格式化创建方式

NSString *str5 = [[NSString
alloc]initWithFormat:@"i
am %i years old",10];

NSLog(@"%p, %@",str5,str5);

//[str5 release];

NSString *str6 =  [str5
stringByAppendingString:str1];

NSLog(@"%p, %@",str6,str6);

[str5 release];

[str6 release];

//使用文件初始化

NSError * error;

NSString *str7 = [[NSString
alloc]initWithContentsOfFile:@"/Users/mac/Desktop/a.txt"
encoding:NSUTF8StringEncoding
error:&error];

NSLog(@"%@, %@",str7,error);

NSString * path =
@"file:///Users/mac/Desktop/a.txt";

NSString * httpContents =
@"http://people.com.cn";

NSURL * url = [NSURL
URLWithString:httpContents];

NSString *str8 = [[NSString alloc]initWithContentsOfURL:url encoding:CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000)
error:&error];

NSLog(@"%@, %@",str8,error);

[str8 release];

}

void staticCreateString()

{

NSString * str1 = [NSString
stringWithFormat:@"i am %i years old",10];

NSLog(@"%@",str1);

}

#pragma mark 
导出到文件中

void export()

{

//向文件中写入,持久化的过程

NSString * str =
@"i was a child , i have a dreamer ";

NSString * path =
@"file:///Users/mac/Desktop/a.txt";

NSError *error;

[str writeToFile:path
atomically:YES
encoding:NSUTF8StringEncoding
error:&error];

NSLog(@"%@",error);

NSURL * url = [NSURL
URLWithString:path];

[str writeToURL:url
atomically:
YES
encoding:NSUTF8StringEncoding
error:&error];

NSLog(@"%@",error);

}

void otherMethord()

{

//请求字符串长度

NSLog(@"%lu",[@"abcd吴剑光"
length]);

NSLog(@"%c",[@"abcd吴剑光"
characterAtIndex:3]);

}

void caseMethord()

{

NSString * str =
@"I‘am  boY ,i have a dream";

NSLog(@"%@",[str
uppercaseString]);

NSLog(@"%@",[str
lowercaseString]);

NSLog(@"%@",[str
capitalizedString]);

}

void campareWithString()

{

NSString * str =
@"Z‘am  boY ,i have a dream";

NSString * str1 =
@"I‘am  boY ,i have a dream";

if ([str
isEqualToString:str1]) {

NSLog(@"true");

}

NSLog(@"%li",[str
compare:str1]);

}

void searchString()

{

NSString * str =
@"neuZ‘am  boY ,i have a dream";

NSLog(@"%i",[str
hasPrefix:@"neu"]);

NSLog(@"%i",[str
hasSuffix:@"exm"]);

NSRange range1 = [str
rangeOfString:@"have"];

NSLog(@"%lu,%lu",range1.location,range1.length);

NSRange range2 = [str
rangeOfString:@"have"
options:NSBackwardsSearch];

NSLog(@"%lu,%lu",range2.location,range2.length);

}

void subString()

{

NSString * str =
@"neuZ‘am #boY #i have# a dream";

NSLog(@"%@",
[str substringFromIndex:3]);

NSLog(@"%@",
[str substringToIndex:3]);

NSLog(@"%@", 
[str substringWithRange:NSMakeRange(3,
5)]);

NSArray * array = [str
componentsSeparatedByString:@"#"];

NSLog(@"%@",array);

}

void pathString()

{

NSString * str =
@"neuZ‘am #boY #i have# a dream";

NSArray * array = [str
componentsSeparatedByString:@"#"];

NSLog(@"%@",
[NSString
pathWithComponents:array]);

NSString * path =
@"Users/mac/desktop";

NSLog(@"%@",
[path pathComponents]);

NSLog(@"%i",
[path isAbsolutePath]);

NSLog(@"%@",
[path stringByAppendingPathComponent:@"abc"]);

NSLog(@"%@",
path);

}

void extentionString()

{

NSString * path =
@"/Users/mac/Desktop/a.txt";

NSLog(@"%@",
[path pathExtension]);

NSLog(@"%@",
[path stringByDeletingPathExtension]);

NSLog(@"%@",
[path stringByAppendingPathExtension:@"xml"]);

}

void exchangeType()

{

NSString *str1 =
@"234.2342424";

NSString *str2 =
@"234.45";

NSString *str3 =
@"234";

NSString *str4 =
@"abcde";

NSLog(@"%f",[str1
doubleValue]);

NSLog(@"%f",[str2
floatValue]);

NSLog(@"%i",[str3
intValue]);

NSLog(@"%s",[str4
UTF8String]);

}

#pragma mark NSMutableString

void mutableStringOperation()

{

NSMutableString * str = [NSMutableString
stringWithCapacity:10];

[str setString:@"i was girl"];

NSLog(@"%@",
str);

[str appendFormat:@" %i years old",
10];

NSLog(@"%@",
str);

[str replaceCharactersInRange:NSMakeRange(2,
3)
withString:@"abcdekfslfj"];

NSLog(@"%@",
str);

}

int main(int
argc, const
char * argv[]) {

@autoreleasepool {

mutableStringOperation();

exchangeType();

extentionString();

pathString();

subString();

searchString();

dynamicCreateString();

staticCreateString();

export() ;

otherMethord();

caseMethord();

campareWithString();

}

return
0;

}

时间: 2024-08-09 10:38:05

【Foundation Frame】NSString的相关文章

【Foundation Frame】NSDictionary/NSMutableDictionary

NSDictionary 用于保存具有映射关系的数据,NSDictionary 包含两组数据,一组用来保存key值,一组用来保存valure值. 一个Key可以对应多个value,反过来则不可以. // //  main.m //  NSDictionary // //  Created by mac on 14-12-4. //  Copyright (c) 2014年 mac. All rights reserved. // #import<Foundation/Foundation.h>

【Foundation Frame】Struct

// //  main.m //  struct // //  Created by mac on 14-12-2. //  Copyright (c) 2014年 mac. All rights reserved. // #import <Foundation/Foundation.h> #pragma mark 基本数据类型---- void baseType() { //unsigned long  %lu NSUInteger i; //long NSInteger  j; //dou

【Foundation Frame】NSMutableArray

NSArray 代表集合元素不可变的集合,一旦NSArray被创建成功,程序不能向集合中添加新元素,删除旧元素,替换旧元素. NSMultableArray 恰恰相反,为可变元素的集合,可以增加.删除.替换元素. 可进行的操作: 1.创建 arrayWithCapacity 2.增加元素,以add开头 3.删除元素,以remove开头 4.替换元素,以replace开头 5.对集合本身排序,以sort开头(与NSArray不同,NSMutable是对元素集合自身进行排序,NSArray则是返回一

【Foundation Frame】NSArray

NSArray 代表元素有序.可重复的一个集合,集合中每个元素都有对应的顺序索引. 创建NSArray的常见方法 1.array:创建一个不包含任何元素的空NSARRAY 2.arrayWithObject/initWithObject:创建只包含指定元素的NSArray 3.arrayWithObjects/initWithObjects:创建只包含一个或多个元素的NSArray 4.arrayWithContentsOfFile:读取文件内容来创建NSArray (以下程序列举了常用的NSA

黑马程序员---OC基础9【Foundation框架】【NSString介绍】【NSURL读写字符串】【NSString字符串比较】【NSString前后缀检查及搜索】【NSRange使用】

------- iOS培训.Android培训.Java培训.期待与您交流! ---------- [Foundation框架] 1.Foundation框架介绍 1)Foundation框架概念 框架是由许多类.方法.函数.文档按照一定的逻辑组织起来的集合 以便使研发程序变得 更容易在OS X下的Mac操作系统中大约有80个框架为所有程序开发奠定基础的框架称为Foundation 框架 2)Foundation框架的作用 Foundation框架是Mac\iOS中其他框架的基础 Foundat

【学习笔记】【OC语言】NSString

1.字符串的快速创建NSStirng *str = @“Hello”; 2.使用静态方法创建 3.使用%@输出字符串NSString *name = @”dssf”;NSLog(@“我的名字是%@”,  name); 4.代码 1 #import <Foundation/Foundation.h> 2 3 @interface Person : NSObject 4 { 5 //char *_name; 6 NSString *_name; 7 } 8 @end 9 10 int main()

黑马程序员---OC基础6【内存管理】【手动内存管理】【单、多个对象的内存管理】【*@property参数】【@class的使用】【NSString类的内存管理】【autorelease使用】

------- iOS培训.Android培训.Java培训.期待与您交流! ---------- [内存管理] 1.内存管理概念 由于移动设备内存及其有限,所以每个app所占的内存也是有限的 需要回收一些不使用的空间 2.OC内存管理的范围 管理任何继承NSOject的对象,对其他的基本数据类型无效 主要管理堆区中的对象的内存管理   3.内存管理的原理 1)对象所有权概念 任何对象都可以能拥有一个或多个所有者,只要一个对象至少还拥有一个所有者,他就会继续存在 cocoasu所有权策略 任何自

黑马程序员---OC基础2【对象储存】【函数和方法的区别】【方法和对象关系】【对象作为方法参数】【NSString类介绍】

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- [对象储存] 1.对象的储存细节 [Car  new] new做了3件事 1)向计算机申请存储空间 2)给类中的每一个成员初始化值 3)返回新申请的空间的首地址 (1).申请的空间在内存的哪个区? new 的时候申请的空间内存的堆区(程序动态分配的内存空间) 当new内存的布局: 初始化的时候: 如果实例变量是基本数据类型,此时给初始为0, 如果是字符串类型此时初始化为null (2).实例变

【Foundation】NSFileManager文件操作

NSFileManager文件操作: -(NSData *) contentsAtPath: path 从一个文件中读取数据 -(bool)createFileAtPath:path contents:(NSData *)data attributes:attr 创建一个文件并写入数据 -(BOOL) removeItemAtPath: path error: err 删除一个文件 -(BOOL) moveItemAtPath: from toPath: to error: err 重命名或移动