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个字符替换为指定的字符串
  • 相关阅读:
    kafka控制测试发送接收消息
    Kafka 启动报错java.io.IOException: Can't resolve address.
    java问题 2019
    java各种面试问题
    java 架构师
    开源的13个Spring Boot 优秀学习项目!超53K星,一网打尽!
    Dubbo 18 问
    Synchronized用于线程间的数据共享,而ThreadLocal则用于线程间的数据隔离。
    XMind2TestCase 工具,提供了一个高效测试用例设计的解决方案(开源)
    windows下面安装Python和pip终极教程
  • 原文地址:https://www.cnblogs.com/zhangdashao/p/4444808.html
Copyright © 2011-2022 走看看