#import <Foundation/Foundation.h>

int main(int argc, const char * argv[]) {
    @autoreleasepool {
        //创建
        NSString *str1 = @"abc";
        NSLog(@"%p", str1);
//        str1 = [[NSString alloc] initWithString:@"abc"];
//        NSLog(@"%p", str1);
        
        //1. 将C语言字符串转化为OC的字符串对象,只能是UTF-8编码
        str1 = [[NSString alloc] initWithUTF8String:"abc"];
        //2. 支持更多编码
        str1 = [[NSString alloc] initWithCString:"abc" encoding:NSUTF8StringEncoding];
        int money = 10;//我有10块钱
        //3. 格式化字符, NSLog()
        str1 = [[NSString alloc] initWithFormat:@"我有%d块钱", money];
        
        //4. 类方法
        str1 = [NSString stringWithUTF8String:"abc"];
        //5. 所有以名词开头的都会有返回值
        str1 = [NSString stringWithFormat:@"我有%d块钱", money];
        
        NSError *error;
        //6. 将文本文件内容读取到字符串对象中,并将首地址保存到str1里
        str1 = [NSString stringWithContentsOfFile:@"/Users/apple/Desktop/test.txt" encoding:NSUTF8StringEncoding error: &error];
        if (error != nil) {
            NSLog(@"%@", error);
        }
        else {
            NSLog(@"%@", str1);
        }
        
        str1 = @"ab";
        //7. 如果文件不存在,创建并保存内容;如果存在的话,覆盖
        [str1 writeToFile:@"/Users/apple/Desktop/test2.txt" atomically:YES encoding:NSUTF8StringEncoding error:nil];
        
        //8. 将基本数据类型(C类型)转化为OC的对象
        str1 = [NSString stringWithFormat:@"%d", 123];
        NSLog(@"%@", str1);
        int value = str1.intValue;
        NSLog(@"%d", value);
        
        //9. 比较
//        @"abc", @"abd"
//        NSComparisonResult res = [@"abc" compare:@"abd"];
        NSString *path = @"www.baidu.com";
        //10. 检查前缀
        if (![path hasPrefix:@"http://"]) {
            path = [NSString stringWithFormat:@"http://%@", path];
        }
        NSLog(@"%@", path);
        
        //11. 检查后缀
        NSString *filename = @"1.jpg";
        if ([filename hasSuffix:@".jpg"]) {
            NSLog(@"这是一张jpg图片");
        }
        
        //12. 在一个字符串后添加一个字符串, 产生一个新的字符串,老的不变
        NSString *str2 = [str1 stringByAppendingString:@"1111"];
        NSLog(@"%@", str1);
        NSLog(@"%@", str2);
        
        str2 = [str1 stringByAppendingFormat:@"%d", 998];
        NSLog(@"%@", str2);
        
        NSString *desk = @"/Users/apple/Desktop";
        for (int i = 1; i < 11; i++) {
            NSLog(@"%@", [desk stringByAppendingFormat:@"/%d.txt", i]);
        }
        
        //13. 文件路径,自动添加分隔符
        str2 = [desk stringByAppendingPathComponent:@"1.txt"];
        NSLog(@"%@", str2);
        str2 = [desk stringByAppendingPathExtension:@"exe"];
        NSLog(@"%@", str2);
        
        NSArray *array = [str2 pathComponents];
        NSLog(@"%@", [array lastObject]);
        
        filename = [array lastObject];
        //删除扩展名
        filename = [filename stringByDeletingPathExtension];
        NSLog(@"filename: %@", filename);
        
        //CSV
        NSString *values = @"1,2;3";
//        array = [values componentsSeparatedByString:@",;"];
        
        //用@",;"里的字符生成一个字符的集合
        NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@",;"];
        //使用字符集set中的字符分割字符串
        array = [values componentsSeparatedByCharactersInSet:set];
        NSLog(@"%@", array);
        
        str1 = @"def教育abc";
        NSLog(@"字符个数: %lu", str1.length);
        
        NSLog(@"字节长度: %lu", [str1 lengthOfBytesUsingEncoding:NSUTF8StringEncoding]);
        
        unichar c = [str1 characterAtIndex:0];
        NSLog(@"%hu", c);
        
//        const char *cstr = [str1 UTF8String];
//        NSLog(@"cstr: %s", cstr);
        
        str1 = @"abcdefghijk";
        //将字符串扩充到10个字节,如果超过10个,裁剪
        str1 = [str1 stringByPaddingToLength:10 withString:@".+-" startingAtIndex:2];
        NSLog(@"%@", str1);
        
        str1 = @"abcd  zhang  san   aaaabcabc";
        //裁剪首尾的字符
        str1 = [str1 stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"zd abc"]];
        NSLog(@"|%@|", str1);
        
        str1 = @"01234567890";
        //获取一个字串[3, 11)
        str2 = [str1 substringFromIndex:3];
        NSLog(@"%@", str2);
        
        //[0, 3)
        str2 = [str1 substringToIndex:3];
        NSLog(@"%@", str2);
        
        //截取一个范围内的字串
        NSRange range = NSMakeRange(0, 5);//{0, 3};
        str2 = [str1 substringWithRange:range];
        NSLog(@"%@", str2);
        
        str1 = @"world hello world";
        //查找一个字串的位置, 默认为从左到右的第一个
        range = [str1 rangeOfString:@"world"];
        NSLog(@"{%lu, %lu}", range.location, range.length);
        //没有找到,返回NSNotFound
        if (range.location == NSNotFound) {
            NSLog(@"没找到");
        }
        
        //将字符串中出现的world全部替换为hi
        str2 = [str1 stringByReplacingOccurrencesOfString:@"world" withString:@"hi"];
        NSLog(@"%@", str2);
        
        str1 = @"hi, China";
        //大写
        str2 = str1.uppercaseString;
        NSLog(@"%@", str2);
        
        //小写
        str1 = str2.lowercaseString;
        NSLog(@"%@", str1);
        
        //首字母大写
        str2 = str1.capitalizedString;
        NSLog(@"%@", str2);
        
        NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
        NSString *content = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:nil];
        NSLog(@"%@", content);
        [content writeToFile:@"/Users/apple/Desktop/index.html" atomically:YES encoding:NSUTF8StringEncoding error:nil];
        
        str1 = @“教育";
        //百分号转义
        str2 = [str1 stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
        NSLog(@"%@", str2);
    }
    return 0;
}

 

ios 中NSString的一些调用的更多相关文章

  1. IOS中把字符串加密/IOS中怎么样MD5加密/IOS中NSString分类的实现

    看完过后,你会学到: 1学习IOS开发中的分类实现, 2以及类方法的书写, 3以及字符串的MD5加密/解密. ---------------------------wolfhous---------- ...

  2. iOS 中 h5 页面 iframe 调用高度自扩展问题及解决

    开发需求需要在 h5 中用 iframe 中调用一个其他公司开发的 html 页面. 简单的插入 <iframe /> 并设置宽高后,发现在 Android 手机浏览器上打开可以正常运行, ...

  3. 在 iOS 中实现方法链调用

    编译:伯乐在线 - 林欣达 如有好文章投稿,请点击 → 这里了解详情 如需转载,发送「转载」二字查看说明 前言 链式调用(chained calls)是指在函数调用返回了一个对象的时候,使得这个调用链 ...

  4. 【iOS和HTML 5交互】iOS中加载html5调用html方法和修改html5内容

    近期项目开发中用到了这方面的技术了,那我们一起来看看. 1.利用webView控件加载本地html5或者网络上html5 2.设置控制器为webView的代理,遵守协议 3.实现代理方法webView ...

  5. iOS中NSTimer的invalidate调用之后

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交 ...

  6. ios中layoutsubview何时被调用

    layoutsubview和viewDidlayoutsubview(控制器)被调用的集中情况 一:当view的frame或bounds发生改变 1:直接改view的frame或bounds 会调用v ...

  7. iOS中NSString转换成HEX(十六进制)-NSData转换成int

    http://www.2cto.com/kf/201402/281501.html 1 2 3 4 5 6 NSString *str = @"0xff055008"; //先以1 ...

  8. ios中摄像头和图片调用

    推荐文章 http://www.xuanyusong.com/archives/1493 http://blog.csdn.net/ryantang03/article/details/7830996

  9. IOS中调用系统的电话、短信、邮件、浏览功能

    iOS开发系列--通讯录.蓝牙.内购.GameCenter.iCloud.Passbook系统服务开发汇总 2015-01-13 09:16 by KenshinCui, 26990 阅读, 35 评 ...

随机推荐

  1. SolrCloud今日大纲

    SolrCloud今日大纲(了解) ●    分布式集群系统基本概念 ●    SolrCloud入门 ●    SolrCloud搭建 ******************************* ...

  2. RF接口测试本地环境部署

    ##1 Python环境及robotframework安装 ###1.1 安装python 2.7.9(自带pip) + 下载python,双击msi文件安装 >https://www.pyth ...

  3. Redis断线重连编码注意事项

    应用在Redis重启.网络闪断并恢复正常后,应用必须能够自恢复,下面以Java语言的jedis客户端为例说明: 1.作为发布者 Jedis对象不能作为单例,网络闪断后该Jedis对象无法自恢复.应该每 ...

  4. Sass编译Css

    1.我新建了一个项目工程 2.路径在 3.编译 sass 要编译的sass文件名.scss ../存放编译后的css目录/编译后的css名称.css 4.刷新项目,就编译出来了 6.当然,你要嫌麻烦的 ...

  5. 《JS权威指南学习总结--第八章 函数》

    内容要点: 一.JS函数是参数化的:函数的定义会包括一个称为形参的标识符列表,这些参数在函数体中像局部变量一样工作.函数调用会为形参提供实参的值.函数使用它们实参的值来计算返回值,成为该函数调用表达式 ...

  6. mysql 批量修改表前缀

    直接贴码: SELECT a.*, concat( 'alter table ', a.TABLE_NAME, ' rename ge_', SUBSTR( a.TABLE_NAME FROM INS ...

  7. 消息同步调用-- ESFramework 4.0 进阶(07)

    分布式系统的构建一般有两种模式,一是基于消息(如Tcp,http等),一是基于方法调用(如RPC.WebService.Remoting).深入想一想,它们其实是一回事.如果你了解过.NET的Prox ...

  8. Python中的list,tuple,dict,set

    list=[11,"aa",33] 增: list.insert(1,"asas") list.append(22) 删: list.pop() list.po ...

  9. Excel教程(13) - 统计函数

    AVEDEV 用途:返回一组数据与其平均值的绝对偏差的平均值,该 函数可以评测数据(例如学生的某科考试成绩)的离散度. 语法:AVEDEV(number1,number2,...) 参数:Number ...

  10. nginx: 响应体太大

    如果做proxy,可以将proxy配置修改buffer长度,或者直接关闭buffer.http { proxy_buffer_size 128k; proxy_buffers 4 256k; prox ...