文档章节

NSString的相关操作大全

 走向未来
发布于 2015/10/20 21:14
字数 482
阅读 14
收藏 0
        NSString *str1 = @"123";
        NSString *str2 = @"1.23";
        //把数字串 转化为数字
        int num1 = [str1 intValue];
        double num2 = [str2 doubleValue];
        NSLog(@"%d %f",num1,num2);
        
        //扩展
        NSString *str3 = @"hello";
        //把小写转化为大写
        //- uppercaseString方法内部 会创建一个新的字符串对象,把结果放在新的字符串对象中,返回新的字符串对象地址
        //str3指向的对象 是不会改变的
        NSString *newStr3 = [str3 uppercaseString];
        
        NSLog(@"newStr3:%@",newStr3);
        NSLog(@"str3:%@",str3);
        NSString *str4 = @"WOrld";
        //大写转小写
        NSString *newStr4 = [str4 lowercaseString];
        NSLog(@"newStr4:%@",newStr4);
        NSLog(@"str4:%@",str4);
        
        
        //字符串查找
        NSString *str5 = @"I love iOS very much iOS";
        //NSRange 是一个范围结构体
        //可以表示一个子串在长串的位置 和 长度
        
        /*
        //默认从前向后找 找到第一个出现的范围
        NSRange range = [str5 rangeOfString:@"iOS"];
        NSLog(@"range:loc:%lu len:%lu",range.location,range.length);
         */
        
        //找不到返回 NSNotFound枚举值
        
        NSRange range = [str5 rangeOfString:@"she"];
        if (range.location != NSNotFound) {
            NSLog(@"range:loc:%lu len:%lu",range.location,range.length);
        }else {
            NSLog(@"没有找到");
        }
        //从后向前找 第一个
        range = [str5 rangeOfString:@"iOS" options:NSBackwardsSearch];
        
        if (range.location != NSNotFound) {
            NSLog(@"range:loc:%lu len:%lu",range.location,range.length);
        }else {
            NSLog(@"没有找到");
        }
        
        //扩展
        //@"www.baidu.com"
        NSString *str6 = @"www.baidu.com";
        //判断是否是前缀 是 返回 1 (YES)
        BOOL ret = [str6 hasPrefix:@"www.."];
        if (ret) {
            NSLog(@"是www.开头");
        }else{
            NSLog(@"不是");
        }
        
        
        //@"xxxx.mp3";
        //判断是否是后缀
        str6 = @"xxx.mp3";
        ret = [str6 hasSuffix:@".mp3"];
        if (ret) {
            NSLog(@"是.mp3结束");
        }else{
            NSLog(@"不是");
        }
        
        //字符串 提取
        NSString *str7 = @"He is playing LOL";
        //从指定位置 提取子串 到结束 包含索引
        //该方法内部 会创建一个新的字符串对象 把提取的结果放入新的对象中返回新对象地址
        NSString *subStr = [str7 substringFromIndex:14];
        NSLog(@"subStr:%@",subStr);
        NSLog(@"str7:%@",str7);
        
        //从字符串 开始提取子串 到指定索引 不包含这个索引
        subStr = [str7 substringToIndex:2];
        NSLog(@"subStr:%@",subStr);//输出He
        NSLog(@"str7:%@",str7);
        
        //从指定范围进行提取
        
        NSRange newRange = {6,7};
        subStr = [str7 substringWithRange:newRange];
        NSLog(@"sub:%@",subStr);//输出playing
        
        //NSMakeRange(6, 7) 可以返回一个结构体值
        
        subStr = [str7 substringWithRange:NSMakeRange(6, 7)];
        NSLog(@"sub:%@",subStr);


© 著作权归作者所有

共有 人打赏支持
上一篇: NSMutableString
粉丝 6
博文 65
码字总数 22758
作品 0
郑州
私信 提问
ios address book 操作大全

为了调用系统的通讯录界面与相应功能,需要引入AddressBook.framework 同时,在源文件中需要包含同文件: #import <AddressBook/AddressBook.h> #import <AddressBookUI/AddressBookUI.h> 读取......

Daniel_s
2015/11/30
35
0
iOS 基础知识大全之网络篇(可供零基础学习)

SDWebImage图片异步下载 1.把SDWebImage包导入到工程中 2.把里面的.m文件在build phase中添加-fno-objc-arc来转换编译模式(在arc中运行) 3.加头文件“UIImageView + WebCache.h”添加U...

龚志明
2016/03/14
822
0
TableView的用法大全

UITableView 基本使用方法 1. 首先,Controller需要实现两个 delegate ,分别是 UITableViewDelegate 和 UITableViewDataSource 2.然后 UITableView对象的 delegate要设置为 self。 3. 然后就...

Align
2016/01/05
23
0
iOS 基础知识大全(OC篇零基础可学习)

不可变字符串 【OC字符串的初始化】 1.字符串的初始化(减方法) NSString str2 = [[NSString alloc]init]; 2.字符串的初始化(加方法) NSString str3 = [NSString string]; 3.字符串的初...

龚志明
2016/03/14
388
2
数据库操作(FMDB)

iOS中原生的SQLite API在使用上相当不友好,在使用时,非常不便。于是,就出现了一系列将SQLite API进行封装的库,例如FMDB、PlausibleDatabase、sqlitepersistentobjects等,FMDB (https:/...

Snaiper
2016/01/28
100
0

没有更多内容

加载失败,请刷新页面

加载更多

[LintCode] Serialize and Deserialize Binary Tree(二叉树的序列化和反序列化)

描述 设计一个算法,并编写代码来序列化和反序列化二叉树。将树写入一个文件被称为“序列化”,读取文件后重建同样的二叉树被称为“反序列化”。 如何反序列化或序列化二叉树是没有限制的,你...

honeymose
今天
5
0
java框架学习日志-7(静态代理和JDK代理)

静态代理 我们平时去餐厅吃饭,不是直接告诉厨师做什么菜的,而是先告诉服务员点什么菜,然后由服务员传到给厨师,相当于服务员是厨师的代理,我们通过代理让厨师炒菜,这就是代理模式。代理...

白话
今天
23
0
Flink Window

1.Flink窗口 Window Assigner分配器。 窗口可以是时间驱动的(Time Window,例如:每30秒钟),也可以是数据驱动的(Count Window,例如:每一百个元素)。 一种经典的窗口分类可以分成: 翻...

满小茂
今天
18
0
my.ini

1

architect刘源源
今天
16
0
docker dns

There is a opensource application that solves this issue, it's called DNS Proxy Server It's a DNS server that solves containers hostnames, if could not found a hostname that mat......

kut
今天
17
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部