#import <Foundation/Foundation.h>
int main(int argc,const char * argv[])
{
@autoreleasepool {
// insert code here...
NSRange range;
range =NSMakeRange(17,4);
//////////创建字符串/////////////
NSString *str = @"Hello,世界!";
NSLog(@"%@",str);
NSString *string1 = [NSStringstringWithFormat:@"You height is %i feet,%i inches",5,11];
NSLog(@"%@",string1);
NSString *string2 =@"Your height is 5 feet,11 inches";
NSLog(@"%@",string2);
//////////获取字符串长度函数:length////////
NSLog(@"%lu",[strlength]);
NSLog(@"%lu",[string1length]);
NSLog(@"%lu",[string2length]);
/////////判断两个字符串是否相同///
//返回BOOL类型不能比较大小
NSString *thing1 = @"hello 5";
NSString *thing2 = [NSStringstringWithFormat:@"hello %i",5];//是第二种方法创建这个方法可以添加格式控制符之类的,如%i很重要
if ([thing1 isEqualToString:thing2]) {
NSLog(@"They are the same!");
}
// 字符串比较 compare 等效与strcmp,返回NSComparsionResult型数据
// NSOrderedAscending 左侧字符串小于右侧字符串
// NSOrderedSame 左侧字符串等于右侧字符串
// NSOrderedDescending 左侧字符串大于右侧字符串
NSString *thing3 = @"abc";
NSString *thing4 = @"abd";
if ([thing3 compare:thing4] ==NSOrderedAscending ) {
NSLog(@"thing3 < thing4");
}
if ([thing3 compare:thing4] ==NSOrderedSame) {
NSLog(@"thing3 = thing4");
}
if ([thing3 compare:thing4] ==NSOrderedDescending) {
NSLog(@"thing3 > thing4");
}
//compare:options:
// NSCaseInsensitiveSearch //不区分大小写
// NSLiteralSearch //区分大小写
// NSNumericSearch //数值比较
NSString *thing5 = @"abc";
NSString *thing6 = @"abC";
if ([thing5compare:thing6 options:NSCaseInsensitiveSearch |NSNumericSearch ] == NSOrderedSame)
{
NSLog(@"They match!");
}
//////////////字符串查找/////////////////
//字符串是否以另一个字符开头(前缀)
//-(BOOL)hasPrefix:(NSString *)aString;
//字符串是否以另一个字符结尾(后缀)
//-(BOOL)hasSuffix:(NSString *)aString;
NSString *filename = @"draft-chapter.mov";
if([filename hasPrefix:@"draft"])
{
NSLog(@"draft is prefix");
}
if([filename hasSuffix:@".mov"])
{
NSLog(@".mov iss suffix");
}
//字符串内的某处是否包含其他字符串
//-(NSRange)rangeOfString:(NSString *)aString;
NSString *ffilename = @"draft-chapter.pages";
NSRange range1;
range1= [ffilenamerangeOfString:@"chapter"];
NSLog(@"%lu,%lu",range1.location,range1.length);
//可变字符串
//NSString 的子类 NSMutableString
//创建
// +(id)stringWithCapacity:(NSUInteger)capacity;
//例如:
//预估容量的函数
// NSMutableString *string;
//string = [NSMutableString stringWithCapacity:42];
//附加字符串
//-(void)appendString:(NSString*)aString;
//-(void)appendFormat:(NSString*)format,...;
NSMutableString* string;
string = [NSMutableStringstringWithCapacity:50];
[stringappendString:@"Hello there"];//添加字符
NSLog(@"%@",string);
[stringappendFormat:@"human %d",39];//第二种方法添加(此方法带格式控制符)
NSLog(@"%@",string);
NSLog(@"------------------------------------");
//插入字符串
//-(void)insertString:(NSSstring*)aString atIndex:(NSUInteger)loc;
[string insertString:@"world"atIndex:6];//第一个参数是插入的字符串,第二个参数是插入的位置。
NSLog(@"%@",string);
//替换字符串
//-(void)replaceCharactersInRange:(NSRange)range withString:(NSString*)aString; //第一个参数是把什么地方的参数替换了
NSRange range2 = [string rangeOfString:@"human"];
[string replaceCharactersInRange:range2withString:@"are"];
NSLog(@"%@",string);
//删除字符串
//-(void)deleteCharactersInRange:(NSRange)range;
NSRange range3 = [string rangeOfString:@"Hello"];
[stringdeleteCharactersInRange:range3];
NSLog(@"%@",string);
}
return 0;
}