• OC Foundation框架—字符串


    一、Foundation框架中一些常用的类

    字符串型:

    NSString:不可变字符串

    NSMutableString:可变字符串

    集合型:

    1)

    NSArray:OC不可变数组

    NSMutableArray:可变数组

    2)

    NSSet:

    NSMutableSet:

    3)

    NSDictiorary

    NSMutableDictiorary

    其它:

    NSDate

    NSObject

     

    二、NSString和NSMutableString的使用与注意

    (一)6种创建字符串的形式

     

    (二)使用注意

    (1)字符串的导入导出

     

    (2)类方法

     

    (三)NSMutableString的使用与注意

     

    (四)URL补充内容

    Url:资源路径

    格式:协议头:/路径

    网络路径协议头:http

    本地文件以file为协议头

    ftp为协议头,说明资源是ftp服务器上的。

     

    (四)字符串操作补充

      1 #import <Foundation/Foundation.h>
      2 
      3 int main(int argc, const char * argv[]) {
      4     @autoreleasepool {
      5         // insert code here...
      6         // NSLog(@"Hello, World!");
      7         
      8         /*
      9          不可变字符串
     10          1.创建字符串
     11             实例方法(3种)
     12             类方法(3种)
     13          2.不可变字符串:
     14            统计长度(2种)
     15            索引提取 (3种)
     16            比较 (3种)
     17            查照字符串位置(1种)
     18            判断前后缀
     19            转换数字
     20            大小写转换
     21            字符串提取
     22          
     23          可变字符串
     24          1.创建可变字符串
     25          2.可变字符串的操作
     26          增(3种)删(1种)改(1种)查
     27          
     28          
     29          */
     30         
     31         //实例方法(3种)
     32         NSString *str1 = @"123456789";
     33         NSString *str2 = [[NSString alloc] initWithFormat:@"%d4567",3];
     34 //        NSString *str3 = [[NSString alloc] initWithString:str2];//传的是对象
     35         
     36         //类方法(3种)
     37         NSString *str4 = [NSString stringWithFormat:@"Abc%@eFg",@"d"];
     38 //        NSString *str5 = [NSString stringWithString:str4];
     39         
     40 
     41         
     42         //统计长度(2种)
     43         NSUInteger length = [str1 length];
     44         NSUInteger length1 = str1.length;
     45         NSLog(@"%lu %lu",length,length1);
     46 
     47         
     48         //索引提取 (3种)
     49         NSString *newStr1 = [str1 substringFromIndex:3];
     50         NSLog(@"%@",newStr1);
     51         NSString *newStr2 = [str1 substringToIndex:3];
     52         NSLog(@"%@",newStr2);
     53         NSString *newStr3 = [str1 substringWithRange:NSMakeRange(3, 4)];
     54         NSLog(@"%@",newStr3);

            NSString *string = [[NSString alloc] initWithFormat:@"%@",@"qwert"];

            unichar ch =[string characterAtIndex:2];//提取字符串中的一个字符变成字符

            NSLog(@"%c",ch);

     55         
     56         
     57         //比较 (3种)
     58         if ([str1 isEqualToString:str2]) {
     59             NSLog(@"相同");
     60         }else
     61             NSLog(@"不相同");
     62         
     63         
     64         
     65         if ([str1 compare:str2] == NSOrderedAscending) {
     66             NSLog(@"str1>str2");
     67         }
     68         else if ([str1 compare:str2] == NSOrderedDescending)
     69             NSLog(@"str1<str2");
     70         else if ([str1 compare:str2] == NSOrderedSame)
     71             NSLog(@"==");
     72         
     73         
     74         
     75         if ([str1 caseInsensitiveCompare:str2] == NSOrderedAscending) {
     76             NSLog(@"str1>str2");
     77         }
     78         else if ([str1 caseInsensitiveCompare:str2] == NSOrderedDescending)
     79             NSLog(@"str1<str2");
     80         else if ([str1 caseInsensitiveCompare:str2] ==NSOrderedSame)
     81             NSLog(@"==");
     82         
     83         
     84         // 查找字符串位置
     85         NSRange range = [str1 rangeOfString:str2];
     86         if (range.location != NSNotFound) {
     87             NSLog(@"location:%lu  length:%lu",range.location,range.length);
     88 
     89         } else {
     90             NSLog(@"没找到");
     91         }
     92         
     93         
     94         //判断前后缀(2种)
     95         BOOL flag = [str4 hasPrefix:@"abc"];
     96         NSLog(@"%d",flag);
     97         
     98         BOOL anotherFlag = [str4 hasSuffix:@"fg"];
     99         NSLog(@"%d",anotherFlag);
    100         
    101         
    102         //转换数字(4种)
    103         int number = [str1 intValue];
    104         NSLog(@"%d",number);
    105         
    106         NSInteger number1 = [str1 intValue];
    107         NSLog(@"%ld",number1);
    108         
    109         NSString *str6 = @"1234567.89";
    110         double number2 = [str6 doubleValue];
    111         NSLog(@"%lf",number2);
    112         
    113         //大小写转换
    114         NSString *upStr = [str4 uppercaseString];
    115         NSLog(@"%@",upStr);
    116         NSString *lowStr = [str4 lowercaseString];
    117         NSLog(@"%@",lowStr);
    118         NSString *tempStr = [str4 capitalizedString];
    119         NSLog(@"%@",tempStr);
    120         
    121         
    122         
    123         
    124         // 可变字符串
    125         // 实例方法
    126         NSMutableString *muStr1 = [[NSMutableString alloc]
    127                                    initWithFormat:@"1%d3",2];
    128         
    129         NSMutableString *muStr2 = [[NSMutableString alloc]
    130                                    initWithString:@"123"];
    131         
    132         NSMutableString *muStr3 = [[NSMutableString alloc]
    133                                    initWithCapacity:10];
    134         
    135         // 类方法
    136         NSMutableString *muStr4 = [NSMutableString stringWithFormat:@"4%d6",5];
    137         
    138         NSMutableString *muStr5 = [NSMutableString stringWithString:@"123"];
    139         
    140         NSMutableString *muStr6 = [NSMutableString stringWithCapacity:10];
    141         
    142         
    143         //增(3种)
    144         [muStr1 appendFormat:@"%d",456];
    145         NSLog(@"%@",muStr1);
    146         
    147         [muStr2 appendString:@"789"];
    148         NSLog(@"%@",muStr2);
    149         
    150         [muStr3 insertString:@"abcdefghijklmn" atIndex:0];
    151         NSLog(@"%@",muStr3);
    152         
    153         [muStr4 insertString:@"abcdefghijklmn" atIndex:2];
    154         NSLog(@"%@",muStr4);
    155         
    156         
    157         
    158         //删除
    159         [muStr5 deleteCharactersInRange:NSMakeRange(2, 1)];
    160         NSLog(@"%@",muStr5);
    161         
    162         //
    163         [muStr6 replaceCharactersInRange:NSMakeRange(0, 0) withString:@"1234567890"];
    164         NSLog(@"%@",muStr6);
    165         
    166         [muStr5 replaceCharactersInRange:NSMakeRange(0, 1) withString:@"abcd"];
    167         NSLog(@"%@",muStr5);
    168         
    169     }
    170     return 0;
    171 }
  • 相关阅读:
    react文本溢出hover气泡显示全部文本——JS判断文本溢出
    ecosystem.config
    git删除中间某次提交
    HTML5 新元素
    HTML5存储
    简述LVS(Linux虚拟服务器)
    简述线程池
    网络协议基础
    JVM常用性能检测工具
    线程间的“通信”方法
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/5028755.html
Copyright © 2020-2023  润新知