ios字符串使用介绍(一)

作者: 伊蕊飘零 | 来源:发表于2016-07-12 23:26 被阅读1901次
        创建字符串。
    
    NSString *astring = @"This is a String!";
    创建空字符串,给予赋值。
    
    NSString *astring = [[NSString alloc] init];
    
    astring = @"This is a String!";
    
    NSLog(@"astring:%@",astring);
    
    string release];
    使用变量初始化
    
    NSString *name = @"Ivan!";
    NSString *astring = [[NSString stringWithFormat:@”My name is %@!”,name]];
    NSLog(@"astring:%@",astring);
    判断是否包含某字符串
    
    检查字符串是否以另一个字符串开头
    
    - (BOOL) hasPrefix: (NSString *) aString;
    NSString *String1 = @"NSStringInformation.txt";
    [String1 hasPrefix:@"NSString"] == 1 ?  NSLog(@"YES") : NSLog(@"NO");
    [String1 hasSuffix:@".txt"] == 1 ?  NSLog(@"YES") : NSLog(@"NO");
    是否包含其它字符
    
    NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
    Boolean contains = [astring rangeOfString:@”This”].length>0;
    从文件读取字符串:
    
    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];
    比较两个字符串
    
    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);
    不考虑大小写比较字符串1
    
    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;
    NSLog(@"result:%d",result);
    改变字符串的大小写
    
    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];
    替换字符串
    
    NSString *astring01 = @"hello 中国";
    NSString * new = [astring01 stringByReplacingOccurrencesOfString:@”中国” withString:@"北京"];
    NSLog(new);
    分割字符串成数组
    
    NSString *s = @"a b d e f";
    NSArray *arr = [s componentsSeparatedByString:@" "];
    NSLog(@"count = %d",[arr count]);
    字符串数组拼接成字符串
    
    NSArray *pathArray = [NSArray arrayWithObjects:@"here",
                          @"be", @"dragons", nil];
    NSLog(@"%@",[pathArray componentsJoinedByString:@""]);
    抽取子串
    
    -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);
    二、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);
    三、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]);
    //获取指定索引处的对象
    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];
    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];
    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);
    数组枚举
    
    从前向后
    
    //NSMutableArray *array = [NSMutableArray arrayWithObjects:
    @"One",@"Two",@"Three",nil];
    NSEnumerator *enumerator;
    enumerator = [array objectEnumerator];
    id thingie;
    while (thingie = [enumerator nextObject]) {
        NSLog(@"thingie:%@",thingie);
    }
    从后向前
    
    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;
    ctionary *dictionary = [[NSDictionary alloc] initWithObjectsAndKeys:@"One",@"1",@"Two",@"2",@"Three",@"3",nil];
    NSString *string = [dictionary objectForKey:@"One"];
    NSLog(@"string:%@",string);
    NSLog(@"dictionary:%@",dictionary);
    [dictionary release];
    练习题:将文本“成绩单.text”内容加载到内存中并按规定的格式输出出来
    
    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中
    
    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);
    定义结构体并添加到NSArray里面
    
    typedef struct {
        float real;
        float imaginary;
    } ImaginaryNumber;
    ImaginaryNumber miNumber;
    miNumber.real = 1.1;
    miNumber.imaginary = 1.41;
    NSValue *miValue = [NSValue value:miNumber
                         withObjCType:@encode(ImaginaryNumber)]; // encode using the type name
    ImaginaryNumber miNumber2;
    [miValue getValue:&miNumber2];
    
    

    相关文章

      网友评论

        本文标题:ios字符串使用介绍(一)

        本文链接:https://www.haomeiwen.com/subject/hresjttx.html