Object-c文字列と配列

22503 ワード

これを使うので、本をかじって勉強しました。まとめても後で調べるために、次のように書きました。
次のような文字列を処理すると頭が良くなります。javaでの処理は簡単なようです。ARrayList<String>はほぼ解決されているようです。
NSString*str=@"0000\2222224;嚊17\\22224;4\?32@?????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????????11????1660@002@2009-12-12 22:02:31.59998*28@?????????700??@002@2009-12-12 22:00:26.93976*?";

1
//         
 NSArray *array = [str componentsSeparatedByString:@"@"];//   @         
 
 int count=[array count];
 int i;
 for(i=0;i<count;i=i+4)
 {
  printf("%i:  %s
",i,[[array objectAtIndex:i] UTF8String]); } 2 NSMutableString *song=[[NSMutableString alloc] init]; [song appendString:@"Deaf Leppard"]; printf("%s
",[song UTF8String]); NSRange range=[song rangeOfString:@"Deaf"];// "Deaf" [song replaceCharactersInRange:range withString:@"Def"];// printf("%s
",[song UTF8String]); [song insertString:@"Animal by " atIndex:0]; printf("%s
",[song UTF8String]); [song release]; 3 NSArray *keys=[@"one two three" componentsSeparatedByString:@" "]; NSArray *value=[@"two bravo a" componentsSeparatedByString:@" "]; NSDictionary *dic=[[NSDictionary alloc] initWithObjects:value forKeys:keys]; printf("%s
",[[dic description] UTF8String]); /******************************************************************************************* NSString *******************************************************************************************/ // 、NSString /*---------------- ----------------*/ //1、 。 NSString *astring = @"This is a String!"; //2、 , 。 NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; [astring release]; NSLog(@"astring:%@",astring); //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 %i string!",i,j]]; NSLog(@"astring:%@",astring); [astring release]; //6、 NSString *astring; astring = [NSString stringWithCString:"This is a temporary string"]; NSLog(@"astring:%@",astring); /*---------------- :initWithContentsOfFile ----------------*/ NSString *path = @"astring.text"; NSString *astring = [[NSString alloc] initWithContentsOfFile:path]; NSLog(@"astring:%@",astring); [astring release]; /*---------------- :writeToFile ----------------*/ NSString *astring = [[NSString alloc] initWithString:@"This is a String!"]; NSLog(@"astring:%@",astring); NSString *path = @"astring.text"; [astring writeToFile: path atomically: YES]; [astring release]; /*---------------- ----------------*/ // C :strcmp char string1[] = "string!"; char string2[] = "string!"; if(strcmp(string1, string2) = = 0) { NSLog(@"1"); } //isEqualToString NSString *astring01 = @"This is a String!"; NSString *astring02 = @"This is a String!"; BOOL result = [astring01 isEqualToString:astring02]; NSLog(@"result:%d",result); //compare (comparer ) NSString *astring01 = @"This is a String!"; NSString *astring02 = @"This is a String!"; BOOL result = [astring01 compare:astring02] = = NSOrderedSame; NSLog(@"result:%d",result); //NSOrderedSame NSString *astring01 = @"This is a String!"; NSString *astring02 = @"this is a String!"; BOOL result = [astring01 compare:astring02] = = NSOrderedAscending; NSLog(@"result:%d",result); //NSOrderedAscending ( ,astring02 astring01 ) NSString *astring01 = @"this is a String!"; NSString *astring02 = @"This is a String!"; BOOL result = [astring01 compare:astring02] = = NSOrderedDescending; NSLog(@"result:%d",result); //NSOrderedDescending ( ,astring02 astring01 ) // 1 NSString *astring01 = @"this is a String!"; NSString *astring02 = @"This is a String!"; BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame; NSLog(@"result:%d",result); //NSOrderedDescending ( ,astring02 astring01 ) // 2 NSString *astring01 = @"this is a String!"; NSString *astring02 = @"This is a String!"; BOOL result = [astring01 compare:astring02 options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame; NSLog(@"result:%d",result); //NSCaseInsensitiveSearch: NSLiteralSearch: , NSNumericSearch: , 。 /*---------------- ----------------*/ NSString *string1 = @"A String"; NSString *string2 = @"String"; NSLog(@"string1:%@",[string1 uppercaseString]);// NSLog(@"string2:%@",[string2 lowercaseString]);// NSLog(@"string2:%@",[string2 capitalizedString]);// /*---------------- ----------------*/ NSString *string1 = @"This is a string"; NSString *string2 = @"string"; NSRange range = [string1 rangeOfString:string2]; int location = range.location; int leight = range.length; NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]]; NSLog(@"astring:%@",astring); [astring release]; /*---------------- ----------------*/ //-substringToIndex: , NSString *string1 = @"This is a string"; NSString *string2 = [string1 substringToIndex:3]; NSLog(@"string2:%@",string2); //-substringFromIndex: ( ), NSString *string1 = @"This is a string"; NSString *string2 = [string1 substringFromIndex:3]; NSLog(@"string2:%@",string2); //-substringWithRange: // , , NSString *string1 = @"This is a string"; NSString *string2 = [string1 substringWithRange:NSMakeRange(0, 4)]; NSLog(@"string2:%@",string2); // NSString *Path = @"~/NSData.txt"; NSString *absolutePath = [Path stringByExpandingTildeInPath]; NSLog(@"absolutePath:%@",absolutePath); NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]); // NSString *Path = @"~/NSData.txt"; NSLog(@"Extension:%@",[Path pathExtension]); /******************************************************************************************* NSMutableString *******************************************************************************************/ /*--------------- ----------------*/ //stringWithCapacity: NSMutableString *String; String = [NSMutableString stringWithCapacity:40]; /*--------------- ----------------*/ //appendString: and appendFormat: NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"]; //[String1 appendString:@", I will be adding some character"]; [String1 appendFormat:[NSString stringWithFormat:@", I will be adding some character"]]; NSLog(@"String1:%@",String1); */ /*-------- ------*/ /* //deleteCharactersInRange: NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"]; [String1 deleteCharactersInRange:NSMakeRange(0, 5)]; NSLog(@"String1:%@",String1); /*-------- ------*/ //-insertString: atIndex: NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"]; [String1 insertString:@"Hi! " atIndex:0]; NSLog(@"String1:%@",String1); /*-------- ------*/ //-setString: NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"]; [String1 setString:@"Hello Word!"]; NSLog(@"String1:%@",String1); /*-------- , ------*/ //-setString: NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"]; [String1 replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"]; NSLog(@"String1:%@",String1); /*------------- ( , )-------------*/ //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, ; /******************************************************************************************* NSArray *******************************************************************************************/ /*--------------------------- ------------------------------*/ NSArray *array = [[NSArray alloc] initWithObjects: @"One",@"Two",@"Three",@"Four",nil]; self.dataArray = array; [array release]; //- (unsigned) Count; ; NSLog(@"self.dataArray cound:%d",[self.dataArray count]); //- (id) objectAtIndex: (unsigned int) index; ; NSLog(@"self.dataArray cound 2:%@",[self.dataArray objectAtIndex:2]); /*-------------------------- ( )----------------------------*/ //arrayWithArray: NSArray *array1 = [[NSArray alloc] init]; NSMutableArray *MutableArray = [[NSMutableArray alloc] init]; NSArray *array = [NSArray arrayWithObjects: @"a",@"b",@"c",nil]; NSLog(@"array:%@",array); MutableArray = [NSMutableArray arrayWithArray:array]; NSLog(@"MutableArray:%@",MutableArray); array1 = [NSArray arrayWithArray:array]; NSLog(@"array1:%@",array1); //Copy //id obj; NSMutableArray *newArray = [[NSMutableArray alloc] init]; NSArray *oldArray = [NSArray arrayWithObjects: @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil]; NSLog(@"oldArray:%@",oldArray); for(int i = 0; i < [oldArray count]; i++) { obj = [[oldArray objectAtIndex:i] copy]; [newArray addObject: obj]; } // NSLog(@"newArray:%@", newArray); [newArray release]; // //NSMutableArray *newArray = [[NSMutableArray alloc] init]; NSArray *oldArray = [NSArray arrayWithObjects: @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil]; NSLog(@"oldArray:%@",oldArray); for(id obj in oldArray) { [newArray addObject: obj]; } // NSLog(@"newArray:%@", newArray); [newArray release]; //Deep copy NSMutableArray *newArray = [[NSMutableArray alloc] init]; NSArray *oldArray = [NSArray arrayWithObjects: @"a",@"b",@"c",@"d",@"e",@"f",@"g",@"h",nil]; NSLog(@"oldArray:%@",oldArray); newArray = (NSMutableArray*)CFPropertyListCreateDeepCopy(kCFAllocatorDefault, (CFPropertyListRef)oldArray, kCFPropertyListMutableContainers); NSLog(@"newArray:%@", newArray); [newArray release]; //Copy and sort NSMutableArray *newArray = [[NSMutableArray alloc] init]; NSArray *oldArray = [NSArray arrayWithObjects: @"b",@"a",@"e",@"d",@"c",@"f",@"h",@"g",nil]; NSLog(@"oldArray:%@",oldArray); NSEnumerator *enumerator; enumerator = [oldArray objectEnumerator]; id obj; while(obj = [enumerator nextObject]) { [newArray addObject: obj]; } [newArray sortUsingSelector:@selector(compare:)]; NSLog(@"newArray:%@", newArray); [newArray release]; /*--------------------------- ------------------------------*/ // - componentsSeparatedByString: NSString *string = [[NSString alloc] initWithString:@"One,Two,Three,Four"]; NSLog(@"string:%@",string); NSArray *array = [string componentsSeparatedByString:@","]; NSLog(@"array:%@",array); [string release]; // - componentsJoinedByString: NSArray *array = [[NSArray alloc] initWithObjects:@"One",@"Two",@"Three",@"Four",nil]; NSString *string = [array componentsJoinedByString:@","]; NSLog(@"string:%@",string); /******************************************************************************************* NSMutableArray *******************************************************************************************/ /*--------------- ----------------*/ NSArray *array; array = [NSMutableArray arrayWithCapacity:20]; /*-------------- ----------------*/ //- (void) addObject: (id) anObject; NSMutableArray *array = [NSMutableArray arrayWithObjects: @"One",@"Two",@"Three",nil]; [array addObject:@"Four"]; NSLog(@"array:%@",array); /*-------------- ----------------*/ //-(void) removeObjectAtIndex: (unsigned) index; NSMutableArray *array = [NSMutableArray arrayWithObjects: @"One",@"Two",@"Three",nil]; [array removeObjectAtIndex:1]; NSLog(@"array:%@",array); /*------------- ---------------*/ //- (NSEnumerator *)objectEnumerator; NSMutableArray *array = [NSMutableArray arrayWithObjects: @"One",@"Two",@"Three",nil]; NSEnumerator *enumerator; enumerator = [array objectEnumerator]; id thingie; while (thingie = [enumerator nextObject]) { NSLog(@"thingie:%@",thingie); } //- (NSEnumerator *)reverseObjectEnumerator; NSMutableArray *array = [NSMutableArray arrayWithObjects: @"One",@"Two",@"Three",nil]; NSEnumerator *enumerator; enumerator = [array reverseObjectEnumerator]; id object; while (object = [enumerator nextObject]) { NSLog(@"object:%@",object); } // NSMutableArray *array = [NSMutableArray arrayWithObjects: @"One",@"Two",@"Three",nil]; for(NSString *string in array) { NSLog(@"string:%@",string); } /******************************************************************************************* NSDictionary *******************************************************************************************/ /*------------------------------------ ------------------------------------*/ //- (id) initWithObjectsAndKeys; NSDictionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil]; NSString *string = [dictionary objectForKey:@"One"]; NSLog(@"string:%@",string); NSLog(@"dictionary:%@",dictionary); [dictionary release]; /******************************************************************************************* NSMutableDictionary *******************************************************************************************/ /*------------------------------------ ------------------------------------*/ // NSMutableDictionary *dictionary = [NSMutableDictionary dictionary]; // [dictionary setObject:@"One" forKey:@"1"]; [dictionary setObject:@"Two" forKey:@"2"]; [dictionary setObject:@"Three" forKey:@"3"]; [dictionary setObject:@"Four" forKey:@"4"]; NSLog(@"dictionary:%@",dictionary); // [dictionary removeObjectForKey:@"3"]; NSLog(@"dictionary:%@",dictionary); /******************************************************************************************* NSValue( ) *******************************************************************************************/ /*-------------------------------- NSRect NSArray ------------------------------------*/ // NSRect NSArray NSMutableArray *array = [[NSMutableArray alloc] init]; NSValue *value; CGRect rect = CGRectMake(0, 0, 320, 480); value = [NSValue valueWithBytes:&rect objCType:@encode(CGRect)]; [array addObject:value]; NSLog(@"array:%@",array); // Array value = [array objectAtIndex:0]; [value getValue:&rect]; NSLog(@"value:%@",value); /******************************************************************************************* jpg *******************************************************************************************/ NSFileManager *fileManager = [NSFileManager defaultManager]; NSString *home; home = @"../Users/"; NSDirectoryEnumerator *direnum; direnum = [fileManager enumeratorAtPath: home]; NSMutableArray *files = [[NSMutableArray alloc] init]; // NSString *filename; while (filename = [direnum nextObject]) { if([[filename pathExtension] hasSuffix:@"jpg"]){ [files addObject:filename]; } } // //for(NSString *filename in direnum) //{ // if([[filename pathExtension] isEqualToString:@"jpg"]){ // [files addObject:filename]; // } //} NSLog(@"files:%@",files); // NSEnumerator *filenum; filenum = [files objectEnumerator]; while (filename = [filenum nextObject]) { NSLog(@"filename:%@",filename); } // //for(id object in files) //{ // NSLog(@"object:%@",object); //}