您的位置:首页 > 移动开发 > Objective-C

黑马程序员:Objective-C 字符串各种处理

2014-04-10 11:48 495 查看
----------- android培训java培训、java学习型技术博客、期待与您交流! ------------内容简要: 1、创建常量字符串。2、创建空字符串,给予赋值。3、在以上方法中,提升速度:initWithString方法4、用标准c创建字符串:initWithCString方法。5、创建格式化字符串:占位符(由一个%加一个字符组成)6、创建临时字符串。7、判断字符串为空。8、是否以”test”开头;是否以”.move”结尾。10、比较两个字符串。11、声明一个可变字符;长度是40个字符。12、修改可变字符;先声明一个可变字符 myFriend;长度30。13、在一个字符串后面附加一个新的字符串。14、字符串转换整数值。15、从文件读取字符串:initWithContentsOfFile方法。16、写字符串到文件:writeToFile方法17、改变字符串的大小写。18、在串中搜索子串。19、抽取子串。20、扩展路径。21、文件扩展名。22、在已有字符串后面添加字符。23、在已有字符串中按照所给出范围和长度删除字符。24、在已有字符串后面在所指定的位置中插入给出的字符串。25、将已有的空符串换成其它的字符串。26、按照所给出的范围,和字符串替换的原有的字符。27、判断字符串内是否还包含别的字符串(前缀,后缀)。-----------------------------------------------------------------------------------------------------------------------------------------------------1、创建常量字符串。 NSString*astring = @"This is a String!";

 2、创建空字符串,给予赋值。 

NSString *astring= [[NSString alloc] init];
astring =@"This is a String!";
NSLog(@"astring:%@",astring);
[astring release];


3、在以上方法中,提升速度:initWithString方法

NSString *astring = [[NSString alloc]initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
[astring release];


4、用标准c创建字符串:initWithCString方法

char *Cstring = "This is a String!";
NSString *astring = [[NSString alloc]initWithCString:Cstring];
NSLog(@"astring:%@",astring);
[astring release];


5、创建格式化字符串:占位符(由一个%加一个字符组成)

int i = 1;
int j = 2;
NSString *astring = [[NSString alloc]initWithString:[NSString stringWithFormat:@"%d.This is %istring!",i,j]];
NSLog(@"astring:%@",astring);
[astringrelease];


6、创建临时字符串

NSString *astring;
astring = [NSStringstringWithCString:"This is a temporary string"];
NSLog(@"astring:%@",astring);
 

7、判断字符串为空

NSString*urlString = [urlInput stringValue];
if(!urlString) {
NSLog(@”NO INPUT.” );
}
if([urlString length] == 0 ) {
NSLog(@”NO INPUT.” );
}


9、是否以”test”开头;是否以”.move”结尾;

NSString*fileName = @”test.move”;
  if ([fileNamehasPrefix:@"test"]) {
  NSLog(@”has Test String !”);
  }
else{
  NSLog(@”don’t have Test”);
  }

  [fileNamehasSuffix:@".move"] ? NSLog(@”Yes it got a .Mov in its end”) :NSLog(@”no it has no .mov string”);


10、比较两个字符串: 

strcmp函数
char string1[] = "string!";
char string2[] = "string!";
if(strcmp(string1, string2) = = 0)
{
NSLog(@"1");
}
isEqualToString方法
NSString *astring01 = @"This is aString!";
NSString *astring02 = @"This is aString!";
BOOL result = [astring01isEqualToString:astring02];
NSLog(@"result:%d",result);

compare方法(comparer返回的三种值)
NSString *astring01 = @"This is a String!";
NSString *astring02 = @"This is aString!";
BOOL result = [astring01 compare:astring02]= = NSOrderedSame;
NSLog(@"result:%d",result);
NSOrderedSame 判断两者内容是否相同

NSString*astring01 = @"This is a String!";
NSString*astring02 = @"this is a String!";
BOOLresult = [astring01 compare:astring02] = = NSOrderedAscending;
NSLog(@"result:%d",result);
NSOrderedAscending判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)
NSString *astring01 = @"this is aString!";
NSString *astring02 = @"This is aString!";
BOOL result = [astring01 compare:astring02] == NSOrderedDescending;
NSLog(@"result:%d",result);
NSOrderedDescending 判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)

不考虑大 小写比较字符串1
NSString *astring01 = @"this is aString!";
NSString *astring02 = @"This is aString!";
BOOLresult = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;
NSLog(@"result:%d",result);
NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)

不考虑大小写比较字符串2
NSString *astring01 = @"this is aString!";
NSString *astring02 = @"This is aString!";
BOOL result = [astring01 compare:astring02
options:NSCaseInsensitiveSearch |NSNumericSearch] = = NSOrderedSame;
NSLog(@"result:%d",result);

NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写NSNumericSearch:比较字符串的字符个数,而不是字符值。


11、声明一个可变字符;长度是40个字符; 

NSMutableString*myMutableString;
myMutableString= [NSMutableString stringWithCapacity:40];
NSString*myName = @”Leo”;
  
[myMutableStringappendString:@"Hello ,there"];
[myMutableStringappendFormat:@" i am %@",myName];
NSLog(@”thisis NSMutableString: %@”,myMutableString);
  //this is NSMutableString:Hello ,there i am Leo;
 

12、修改可变字符;先声明一个可变字符 myFriend;长度30;

NSMutableString*myGirlFriend;
myGirlFriend= [NSMutableString stringWithCapacity:30];
  //然后给字符加入一些内容;
[myGirlFriendappendString:@"Here are my GF:Carol Soph
4000
ia Ashley Helen and Yoyo"];
NSLog(@”%@”,myGirlFriend);
  //声名一个变动范围(NSRange);
NSRangejoneRange;
joneRange= [myGirlFriend rangeOfString:@"Helen "];
  //下面:就是从myFriend字符中配对,如果有相等的内容就删除了;
[myGirlFrienddeleteCharactersInRange:joneRange];
NSLog(@”%@”,myGirlFriend);
 

13、在一个字符串后面附加一个新的字符串

NSString*a = @"a";
NSString*b = [a stringByAppendingString:@"b"];//b变量的值为“ab”


14、字符串转换整数值

NSString*age = @"36";
if([ageintValue]>35){
}


15、从文件读取字符串:initWithContentsOfFile方法

NSString *path = @"astring.text";
NSString *astring = [[NSString alloc]initWithContentsOfFile:path];
NSLog(@"astring:%@",astring);
[astring release];


16、写字符串到文件:writeToFile方法
   

NSString *astring = [[NSString alloc]initWithString:@"This is a String!"];
NSLog(@"astring:%@",astring);
NSString *path =@"astring.text";
[astring writeToFile: path atomically: YES];
[astring release];
 

17、改变字符串的大小写

NSString *string1 = @"A String";
NSString *string2 = @"String";
NSLog(@"string1:%@",[string1uppercaseString]);//大写
NSLog(@"string2:%@",[string2lowercaseString]);//小写
NSLog(@"string2:%@",[string2capitalizedString]);//首字母大小


18、在串中搜索子串

NSString*string1 = @"This is a string";
NSString*string2 = @"string";
NSRangerange = [string1 rangeOfString:string2];
intlocation = range.location;
intleight = range.length;
NSString*astring = [[NSString alloc] initWithString:[NSStringstringWithFormat:@"Location:%i,Leight:%i",location,leight]];
NSLog(@"astring:%@",astring);
[astringrelease];


19、抽取子串

//-substringToIndex:从字符串的开头一直截取到指定的位置,但不包括该位置的字符
NSString *string1 = @"This is astring";
NSString *string2 = [string1substringToIndex:3];
NSLog(@"string2:%@",string2);

//-substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
NSString *string1 = @"This is astring";
NSString *string2 = [string1 substringFromIndex:3];
NSLog(@"string2:%@",string2);

//-substringWithRange: //按照所给出的位置,长度,任意地从字符串中截取子串
NSString *string1 = @"This is astring";
NSString *string2 = [string1substringWithRange:NSMakeRange(0, 4)];
NSLog(@"string2:%@",string2);


 20、扩展路径
 
   

NSString *Path = @"~/NSData.txt";
NSString *absolutePath = [PathstringByExpandingTildeInPath];
NSLog(@"absolutePath:%@",absolutePath);
NSLog(@"Path:%@",[absolutePathstringByAbbreviatingWithTildeInPath]);


21、文件扩展名 

NSString*Path = @"~/NSData.txt";
NSLog(@"Extension:%@",[PathpathExtension]);


22、在已有字符串后面添加字符  

NSMutableString*String1 = [[NSMutableString alloc] initWithString:@"This is aNSMutableString"];
//[String1 appendString:@", I will beadding some character"];
[String1appendFormat:[NSString stringWithFormat:@", I will be adding somecharacter"]];
NSLog(@"String1:%@",String1);


23、在已有字符串中按照所给出范围和长度删除字符

NSMutableString*String1 = [[NSMutableString alloc] initWithString:@"This is aNSMutableString"];
[String1deleteCharactersInRange:NSMakeRange(0, 5)];
NSLog(@"String1:%@",String1);


 24、在已有字符串后面在所指定的位置中插入给出的字符串

//-insertString:atIndex:
NSMutableString *String1 =[[NSMutableString alloc] initWithString:@"This is aNSMutableString"];
[String1 insertString:@"Hi! "atIndex:0];
NSLog(@"String1:%@",String1);


25、将已有的空符串换成其它的字符串

//-setString:
NSMutableString *String1 =[[NSMutableString alloc] initWithString:@"This is aNSMutableString"];
[String1 setString:@"Hello Word!"];
NSLog(@"String1:%@",String1);


26、按照所给出的范围,和字符串替换的原有的字符

//-setString:
NSMutableString *String1 =[[NSMutableString alloc] initWithString:@"This is aNSMutableString"];
[String1replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
NSLog(@"String1:%@",String1);


27、判断字符串内是否还包含别的字符串(前缀,后缀)

//01:检查字符串是否以另一个字符串开头-(BOOL) hasPrefix: (NSString *) aString;
NSString *String1 =@"NSStringInformation.txt";
[String1 hasPrefix:@"NSString"] == 1 ?  NSLog(@"YES") :NSLog(@"NO");
[String1 hasSuffix:@".txt"] = = 1?  NSLog(@"YES") :NSLog(@"NO");
//02:查找字符串某处是否包含其它字符串- (NSRange) rangeOfString: (NSString *) aString,这一点前面在串中搜索子串用到过;


 

----------- android培训java培训、java学习型技术博客、期待与您交流! ------------

详情请查看:http://edu.csdn.net/heima
 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: