zoukankan      html  css  js  c++  java
  • OC Foundation框架—字符串操作方法及习题

      1 #import <Foundation/Foundation.h>
      2 
      3 int main(int argc, const char * argv[]) {
      4     @autoreleasepool {       
      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);
     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         
    145         [muStr1 appendFormat:@"%d",456];
    146         NSLog(@"%@",muStr1);
    147         
    148         [muStr2 appendString:@"789"];
    149         NSLog(@"%@",muStr2);
    150         
    151         [muStr3 insertString:@"abcdefghijklmn" atIndex:0];
    152         NSLog(@"%@",muStr3);
    153         
    154         [muStr4 insertString:@"abcdefghijklmn" atIndex:2];
    155         NSLog(@"%@",muStr4);
    156         
    157         
    158         
    159         //删除
    160         [muStr5 deleteCharactersInRange:NSMakeRange(2, 1)];
    161         NSLog(@"%@",muStr5);
    162         
    163         //
    164         [muStr6 replaceCharactersInRange:NSMakeRange(0, 0) withString:@"1234567890"];
    165         NSLog(@"%@",muStr6);
    166         
    167         [muStr5 replaceCharactersInRange:NSMakeRange(0, 1) withString:@"abcd"];
    168         NSLog(@"%@",muStr5);
      1 #import <Foundation/Foundation.h>
      2 
      3 @interface MyStringTools : NSObject
      4 
      5 /*
      6  
      7  1.创建一个类,要求:
      8  (1)、定义一个方法,能完成字符串逆序输出的操作
      9  (2)、定义一个方法,能删除某字符串中的指定字串
     10  
     11     myStringTool  delete:(NSString*) InString:(NSString*)
     12  
     13  (3)、定义一个方法,能查找某字符串在某字符串中出现的次数
     14  (4)、定义一个方法,能传入两个字符串,将这个字符串组合成一个新的对称字符串返回
     15  (5)、定义一个方法,能将原字符串进行小写转大写,大写转小写
     16  (6)、定义一个方法,能压缩传入的字符串
     17  (比如输入@"aaabbbcceaa" 输出@"3a3b2c1e2a")
     18  (7)、定义一个方法,能对传入的字符串按照字母顺序进行排列
     19  (比如输入@"aczabczab"  输出@"aaabbcczz”)
     20  (8)、定义一个方法,能够替换某字符串中的某个指定字串
     21  (9)、定义一个方法,能够获取指定字符串长度。
     22  */
     23 
     24 //定义一个方法,能完成字符串逆序输出的操作
     25 +(NSString *) reverseOrder:(NSString *) str1;
     26 
     27 //定义一个方法,能删除某字符串中的指定字串
     28 +(NSString *) deleteTheString:(NSString *) str1
     29                      inString:(NSString *) str2;
     30 
     31 //定义一个方法,能查找某字符串在某字符串中出现的次数
     32 +(NSInteger) findNumberOfString:(NSString *) str1
     33                        inString:(NSString *) str2;
     34 
     35 //定义一个方法,能传入两个字符串,将这个字符串组合成一个新的对称字符串返回
     36 +(NSString *) makeUpString:(NSString *) str1
     37                  andString:(NSString *) str2;
     38 
     39 //定义一个方法,能将原字符串进行小写转大写,大写转小写
     40 +(NSString *) convertLetters:(NSString *) str1 andCase:(NSString *) mycase;
     41 
     42 //定义一个方法,能压缩传入的字符串
     43 +(NSString *) compressString:(NSString *) str1;
     44 
     45 //定义一个方法,能对传入的字符串按照字母顺序进行排列
     46 +(NSString *) theStringOrder:(NSString *) str1;
     47 
     48 //定义一个方法,能够替换某字符串中的某个指定字串
     49 +(NSString *) replaceTheString:(NSString *) str1
     50                     fromString:(NSString *) str2
     51                       toString:(NSString *) str3;
     52 
     53 //定义一个方法,能够获取指定字符串长度
     54 +(NSInteger) obtainTheLength:(NSString *) str1;
     55 @end
     56 
     57 
     58 
     59 
     60 
     61 
     62 
     63 #import "MyStringTools.h"
     64 
     65 @implementation MyStringTools
     66 
     67 +(NSString *) reverseOrder:(NSString *) str1
     68 {
     69     NSMutableString *string = [NSMutableString stringWithString:str1];
     70     NSMutableString *mutableString =[NSMutableString stringWithString:str1];
     71 
     72     
     73     for (int i=0; i<string.length; i++) {
     74         //方法1
     75         NSString *subStr1 = [string substringWithRange:NSMakeRange(i, 1)];
     76         NSString *subStr2 = [string substringWithRange:
     77                              NSMakeRange(string.length - i-1, 1)];
     78         // 取长度和范围
     79         NSRange range1 = [string rangeOfString:subStr1];
     80         NSRange range2 = [string rangeOfString:subStr2];
     81         
     82         [mutableString replaceCharactersInRange:range1 withString:subStr2];
     83         [mutableString replaceCharactersInRange:range2
     84                                      withString:subStr1];
     85     }
     86         return mutableString;
     87 
     88         //方法2
     89 //        NSString *tempStr = [string substringFromIndex:string.length-1];
     90 //        
     91 //        [string insertString:tempStr atIndex:i];
     92 //        
     93 //        [string deleteCharactersInRange:NSMakeRange(string.length-1,1)];
     94 //         }
     95 //    return string
     96     
     97 }
     98 
     99 +(NSString *) deleteTheString:(NSString *) str1
    100                      inString:(NSString *) str2
    101 {
    102     NSMutableString *string = [NSMutableString stringWithString:str2];
    103     
    104     NSRange range = [string rangeOfString:str1];
    105     
    106     if (range.location !=NSNotFound) {
    107         [string deleteCharactersInRange:range];
    108     }
    109     else
    110         NSLog(@"没有发现字符");
    111     return string;
    112 }
    113 
    114 +(NSInteger) findNumberOfString:(NSString *) str1
    115                        inString:(NSString *) str2
    116 {
    117     int i,count=0;
    118     
    119     NSMutableString *string = [NSMutableString stringWithString:str2];
    120     
    121     for (i=0; i<string.length; i++) {
    122         
    123         NSRange range = [string rangeOfString:str1];
    124         
    125         if (range.location !=NSNotFound) {
    126         [string deleteCharactersInRange:range];
    127             count++;
    128         }
    129     }
    130     return count;
    131 }
    132 
    133 
    134 +(NSString *) makeUpString:(NSString *) str1
    135                  andString:(NSString *) str2
    136 {
    137     NSMutableString *string = [NSMutableString stringWithString:str2];
    138     [string appendString:str1];
    139     
    140     for (NSInteger i=string.length-1; i>=0; i--) {
    141         [string appendString:[string substringWithRange:NSMakeRange(i, 1)]];
    142         
    143     }
    144     return string;
    145 }
    146 
    147 +(NSString *) convertLetters:(NSString *) str1 andCase:(NSString *) mycase
    148 {
    149     NSMutableString *string = [NSMutableString stringWithString:str1];
    150     
    151     if ([mycase isEqualToString:@"大写"]) {
    152         return [string uppercaseString];
    153     }
    154     else
    155         return [string lowercaseString];
    156 }
    157 
    158 +(NSString *) compressString:(NSString *) str1
    159 {
    160     int i;
    161     NSMutableString *string = [NSMutableString stringWithString:str1];
    162     NSMutableString *newString;
    163     NSMutableString *newString1 = [NSMutableString stringWithString:@""];
    164     
    165     for (i=0; i<string.length; i++) {
    166         
    167         NSString *tempStr = [string substringWithRange:NSMakeRange(0, 1)];
    168         int count=0;
    169 
    170         for (int j=0; j<string.length; j++) {
    171             
    172             NSString *tempStr1 = [string substringWithRange:NSMakeRange(0, 1)];
    173             
    174         if ([tempStr1 isEqualToString:tempStr]) {
    175             
    176             [string deleteCharactersInRange:NSMakeRange(0, 1)];
    177             count++;
    178         }
    179         }
    180         newString = [NSMutableString stringWithFormat:@"%d%@",count,tempStr];
    181         [newString1 appendString:newString];
    182         
    183     }
    184     return newString1;
    185 
    186 }
    187 
    188 +(NSString *) theStringOrder:(NSString *) str1
    189 {
    190     NSMutableString *string = [NSMutableString stringWithString:str1];
    191     
    192     for (int i=0; i<string.length-1; i++) {
    193         for (int j=0; j<string.length-1; j++) {
    194             
    195             NSString *tempStr1=[string substringWithRange:NSMakeRange(j, 1)];
    196             NSString *tempStr2=[string substringWithRange:NSMakeRange(j+1, 1)];
    197             
    198             NSRange range1 = [string rangeOfString:tempStr1];
    199             NSRange range2 = [string rangeOfString:tempStr2];
    200             
    201             if ([tempStr1 compare:tempStr2]==NSOrderedAscending) {
    202                 
    203                 
    204                 [string replaceCharactersInRange:range2 withString:tempStr1];
    205                 [string replaceCharactersInRange:range1 withString:tempStr2];
    206             }
    207             }
    208         }
    209     return string;
    210 }
    211 
    212 
    213 +(NSString *) replaceTheString:(NSString *) str1
    214                     fromString:(NSString *) str2
    215                       toString:(NSString *) str3
    216 {
    217     NSMutableString *string = [NSMutableString stringWithString:str2];
    218     
    219     NSRange range = [string rangeOfString:str1];
    220     [string replaceCharactersInRange:range withString:str3];
    221     return string;
    222 }
    223 
    224 +(NSInteger) obtainTheLength:(NSString *) str1
    225 {
    226     return str1.length;
    227 }
    228 
    229 
    230 
    231 
    232 @end
    233 
    234 
    235 
    236 
    237 
    238 
    239 
    240 #import <Foundation/Foundation.h>
    241 #import "MyStringTools.h"
    242 
    243 int main(int argc, const char * argv[]) {
    244     @autoreleasepool {
    245         
    246         NSString *mystring=[NSString stringWithFormat:@"abcdef"];
    247         
    248         NSLog(@"%@",[MyStringTools reverseOrder:mystring]);
    249         
    250         NSLog(@"%@",[MyStringTools deleteTheString:@"bc"
    251                                           inString:mystring]);
    252         
    253         NSLog(@"%ld",[MyStringTools findNumberOfString:@"bc"
    254                                               inString:@"abcdfebcbbc"]);
    255         
    256         NSLog(@"%@",[MyStringTools makeUpString:@"abcdef"
    257                                       andString:@"gh"]);
    258         
    259         NSLog(@"%@",[MyStringTools convertLetters:@"aBcDeF"
    260                                           andCase:@"大写"]);
    261         
    262         NSLog(@"%@",[MyStringTools compressString:@"hhfffkkkkkiinil"]);
    263         
    264         NSLog(@"%@",[MyStringTools theStringOrder:@"sadcbfw"]);
    265         
    266         NSLog(@"%@",[MyStringTools replaceTheString:@"sdf"
    267                                          fromString:@"asdfghjkl"
    268                                            toString:@"abc"]);
    269         
    270         NSLog(@"%lu",[MyStringTools obtainTheLength:@"qwert"]);
    271         
    272         
    273 
    274     }
    275     return 0;
    276 }
  • 相关阅读:
    【Unittest】unittest相关解说
    python中导入模块/包的几种方式
    工具网站
    mapstruct 入门指南
    springboot 全局异常处理器
    多线程读表-压缩成zip下载
    编译执行和解释执行的区别
    swagger常用注解说明
    springboot整合swagger
    springboot整合druid
  • 原文地址:https://www.cnblogs.com/oc-bowen/p/5040205.html
Copyright © 2011-2022 走看看