zoukankan      html  css  js  c++  java
  • OC学习笔记 字符串常用函数

    格式化字符串 就是按一定格式输出的字符串  或者  将某种格式的字符串转化为另外一种格式。目的就是让程序可读性增强

    创建字符串

    1     NSstring * str1 = @"hello";
    2     NSString * str = [[NSString alloc]initWithString:@"hello world!"];
    3     NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字符串转化为OC的字符串
    4     int a = 123;
    5     NSString * str_3 = [[NSString alloc]initWithFormat:@"a = %d %s%@", a, "abcd", @"efg"];//用格式化字符串初始化
    6     //可完成字符串的拼接以及完成C的字符串与OC的字符串的转化
    7     NSString * str1 = [NSString stringWithString:@"hello world"];
    8     NSString * str2 = [NSString stringWithUTF8String:"hello world"];
    9     NSString * str3 = [NSString stringWithFormat:@"%s","hello world"];

    字符串转化:

    1 NSString * str = @"hello";
    2 const char *p = [str UTF8String];将OC字符串转化为C的字符串
    3  
    4 str = @"123";
    5 int a = [str intValue];//将数字串转化成整型数据
    6     [str floatValue];//将数字串转化成float型
    7         [str doubleValue];//将数字串转化成double型

    常用的NSString Message(OC 的字符 :typedef unsigned short unichar)

     1 NSLog(@"%ld",[str1 length]);   //求字符串长度
     2  
     3 NSLog(@"%c", [str1 characterAtIndex:1]);//获取字符串中的字符
     4  
     5 BOOL ret =  [str1 isEqualTo:str2];//比较两个字符串是否相等,相等返回YES(1),不相等返回NO(0)   (BOOL   YES(1)  NO(0))
     6  
     7 long ret1 = [str1 compare:str2];//比较两个字符串的大小,str1大于 返回1  相等返回0   小于返回-1
     8  
     9 long ret2 = [str1 caseInsensitiveCompare:str2];//不区分大小写比较字符串大小
    10  
    11 NSString * ptr = [str2 uppercaseString];//将字符串中的所有小写字符转换成大写 不改变原来的字符串
    12  
    13 ptr = [str1 lowercaseString];//将字符串中的所有大写字符转换成小写 不改变原来的字符串
    14  
    15 ptr = [str3 capitalizedString];//将字符串中出现的第一个字母转换成大写,其余字母小写
    16  
    17 NSString * str4 = @"hello world";
    18  
    19 NSRange range = [str4 rangeOfString:@"wr"];//查找子串,找不到返回NSNotFound 找到返回location和length
    20  
    21 if (range.location != NSNotFound) {
    22  
    23     NSLog(@"%ld %ld",range.location, range.length);
    24  
    25 }
    26  
    27 NSString * str5 = @"helloworld";
    28  
    29 NSString * ptr1 = [str5 substringToIndex:4];//字符串抽取 从下标0开始到4 不包括4
    30  
    31 NSString * ptr2 = [str5 substringFromIndex:5];//从下标5开始抽取到字符串结束 包括5
    32  
    33 NSRange range1 = {4,3};//结构体初始化
    34  
    35 NSString * ptr3 = [str5 substringWithRange:range1];//在range指定范围内抽取
    36  
    37 NSString * ptr4 = [str5 substringWithRange:NSMakeRange(4,3)];//NSMakeRange可以生成一个结构体
    38  
    39  
    40  
    41 NSString * str = @"www.1000phone.com";
    42  
    43 BOOL ret = [str hasPrefix:@"www"];//判断字符串是否以指定字符串开头
    44  
    45  
    46  
    47 NSString * str1 = @"1.txt";
    48  
    49 BOOL ret1 = [str hasSuffix:@".txt"];//判断字符串是否以指定的字符串结尾
    50  
    51  
    52  
    53 NSMutableString可变字符串(动态增加和减少的)   继承于NSString可以使用NSString的所有方法
    54  
    55 NSMutableString * str =  [[NSMutableString alloc]initWithString:@"hello"];//将不可变的字符串转换为可变的字符串
    56  
    57 [str insertString:@"123" atIndex:1];//在指定下标(不要越界)位置插入NSString类型字符串
    58  
    59 [str appendString:@"123"];//在字符串末尾追加字符串
    60  
    61 [str deleteCharactersInRange:NSMakeRange(0, 2)];//从指定下标删除length个字符
    62  
    63 [str setString:@"qianfeng"];//修改字符串亦称对该可变字符串赋值
    64  
    65 [str replaceCharactersInRange:NSMakeRange(3, 1) withString:@"ios"];//将指定下标位置的length个字符替换为指定的字符串
  • 相关阅读:
    HDU 3681 Prison Break 越狱(状压DP,变形)
    POJ 2411 Mondriaan's Dream (状压DP,骨牌覆盖,经典)
    ZOJ 3471 Most Powerful (状压DP,经典)
    POJ 2288 Islands and Bridges (状压DP,变形)
    HDU 3001 Travelling (状压DP,3进制)
    POJ 3311 Hie with the Pie (状压DP)
    POJ 1185 炮兵阵地 (状压DP,轮廓线DP)
    FZU 2204 7
    POJ 3254 Corn Fields (状压DP,轮廓线DP)
    ZOJ 3494 BCD Code (数位DP,AC自动机)
  • 原文地址:https://www.cnblogs.com/zhangdashao/p/4444808.html
Copyright © 2011-2022 走看看