Object C学习笔记8-字符串NSString之二
5. 字符串是否包含
hasPrefix 判断字符串是否以某个字符串开头
hasSuffix 判断字符串是否以某个字符串结尾
NSString *str1=@"Object C学习正在进行中.... LOVE";
if([str1 hasPrefix:@"Object"]){
NSLog(@"字符串:%@是以%@开头",str1,@"Object");
} if([str1 hasSuffix:@"LOVE"]){
NSLog(@"字符串:%@是以%@结尾",str1,@"LOVE");
} if([str1 hasSuffix:@"love"]){
NSLog(@"字符串:%@是以%@结尾",str1,@"LOVE");
}
测试例子
注意以上方法都是要区分大小写的。
6. 截取字符串
substringToIndex: 截取从索引0到特定位置处的字符串
substringFromIndex: 截取从特定位置到字符串末尾的字符串
substringWithRange:从特定位置开始截取特定长度的字符
NSString *str2=[str1 substringToIndex:];
NSLog(@"从索引0开始截取到索引3的位置: %@",str2); NSString *str3=[str1 substringFromIndex:];
NSLog(@"所索引位置4开始截取到末尾: %@",str3); NSRange range=NSMakeRange(,);
NSString *str4=[str1 substringWithRange:range];
NSLog(@"从指定位置开始截取特定长度: %@",str4); range=NSMakeRange(, );
NSString *str5=[str1 substringWithRange:range];
NSLog(@"从指定位置开始截取特定长度: %@",str5);
测试例子
这里要注意NSRange 获取NSRange的实例要使用NSRange range=NSMakeRange(2,100); 第一个参数为索引位置,第二个参数为长度,当使用substringWithRange方法的时候,如果截取的长度超过了字符串的本身长度就会报错。这里需要注意一下
7. 字符串大小写转化
uppercaseString将字符串转化为大写
lowercaseString将字符串转化为小写
capitalizedString将字符串首字母转化为大写
NSString *str1=@"object C 大小写转化 Love";
//转化为大写
NSString *str2=[str1 uppercaseString];
NSLog(@"转化为大写:%@",str2); //转化为小写
NSString *str3=[str1 lowercaseString];
NSLog(@"转化为小写: %@",str3); //首字母大写
NSString *str4=[str1 capitalizedString];
NSLog(@"首字母大写: %@",str4);
测试例子
8. 查找字符串
查找字符串可以使用rangeOfString方法,该方法返回NSRange 可以获得匹配的字符串的起始位置以及长度
NSString *str1=@"object C 大小写转化 Love";
NSString *t=[[NSString alloc] initWithCString:"Love"];
NSRange range=[str1 rangeOfString:t];
NSLog(@"Location=%d",range.location);
NSLog(@"length=%d",range.length);
测试例子
9. 替换字符串
可以使用stringByReplacingCharactersInRange方法替换特定位置的字符串
可以使用stringByReplacingOccurrencesOfString将特定字符串替换为指定字符串
NSString *str1=@"object C 大小写转化 Love";
NSString *t=[[NSString alloc] initWithCString:"Love"];
NSRange range=[str1 rangeOfString:t];
NSLog(@"Location=%d",range.location);
NSLog(@"length=%d",range.length);
NSString *str2=[str1 stringByReplacingCharactersInRange:range withString:@"XCode"];
NSLog(@"替换之后的字符串为:%@",str2);
NSString *str1=@"Love object C 大小写转化 Love";
NSString *str2=[str1 stringByReplacingOccurrencesOfString:@"Love" withString:@"XCode"];
NSLog(@"替换之后的字符串:%@",str2);
测试例子
Object C学习笔记8-字符串NSString之二的更多相关文章
- Object C学习笔记22-#define 用法
上一篇讲到了typedef 关键字的使用,可以参考文章 Object C 学习笔记--typedef用法 .而在c中还有另外一个很重要的关键字#define. 一. #define 简介 在C中利用预 ...
- Object C学习笔记24-关键字总结
学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1. #import #import <> 从syste ...
- Object C学习笔记17-动态判断和选择器
当时学习Object C的时被人鄙视了一顿,说使用.NET的思想来学Object C就是狗屎:不过也挺感谢这位仁兄的,这让我学习的时候更加的谨慎.今天的学习笔记主要记录Object C中的动态类型相关 ...
- Object C学习笔记10-静态方法和静态属性
在.NET中我们静态使用的关键字static有着举足轻重的作用,static 方法可以不用实例化类实例就可以直接调用,static 属性也是如此.在Object C中也存在static关键字,今天的学 ...
- Object C学习笔记24-关键字总结(转)
学习Object C也有段时间了,学习的过程中涉及到了很多Object C中的关键字,本文总结一下所涉及到的关键字以及基本语法. 1. #import #import <> 从syste ...
- Object C学习笔记21-typedef用法
在上一章的学习过程中遇到了一个关键字typedef,这个关键字是C语言中的关键字,因为Object C是C的扩展同样也是支持typedef的. 一. 基本作用 typedef是C中的关键字,它的主要作 ...
- Object C学习笔记18-SEL,@ selector,Class,@class
本章是对上一章<<Object C学习笔记17-动态判断和选择器>>的一点补充,所以比较简单点. 一. SEL 类型 在上一篇介绍了几个方法,都只是介绍了其使用方式但是没有具体 ...
- 1.C#基础学习笔记3---C#字符串(转义符和内存存储无关)
技术qq交流群:JavaDream:251572072 教程下载,在线交流:创梦IT社区:www.credream.com ------------------------------------- ...
- 【学习笔记】字符串—马拉车(Manacher)
[学习笔记]字符串-马拉车(Manacher) 一:[前言] 马拉车用于求解连续回文子串问题,效率极高. 其核心思想与 \(kmp\) 类似:继承. --引自 \(yyx\) 学姐 二:[算法原理] ...
- 「学习笔记」字符串基础:Hash,KMP与Trie
「学习笔记」字符串基础:Hash,KMP与Trie 点击查看目录 目录 「学习笔记」字符串基础:Hash,KMP与Trie Hash 算法 代码 KMP 算法 前置知识:\(\text{Border} ...
随机推荐
- PowerShell管理SCOM_批量设置维护模式(下)
#定义存储需要置为维护模式的计算机名称列表$serverlist = "C:\scomm\servers.txt"#定义RMS服务器名称$rmsServerName=”scomw. ...
- 汽车学习---汽车知识大全【all】
汽车驱动/发动机/大灯 侧方位停车和倒车入库技巧 手动挡车型 换档8大技巧 常见的掉头情况注意事项 最全的左转,右转,待转,掉头方法 开车技巧大汇总,尤其适合新手司机 汽车常识扫盲,不做“汽车小白”! ...
- Python学习---JSON补充内容[中文编码 + dumps解析]
JSON补充内容[微信解决中文乱码,接上] import json # 英文显示 dic = {"hello": "world"} str = json.dum ...
- Linux ifconfig命令详解
ifconfig(interfaces config).通常需要以root身份登录或使用sudo来使用ifconfig工具 ifconfig 命令用来查看和配置网络设备.当网络环境发生改变时可通过此命 ...
- September 13th 2017 Week 37th Wednesday
Whenever people agree with me, I always feel I must be wrong. 每次人们赞同我时,我都觉得自己一定错了. We can draw lesso ...
- python multiprocessing 使用
如何在Pool中使用Queue,Stack Overflow的回答,戳这里 其实吧官方文档看一遍应该就大部分都懂了. 需要注意的是:在使用多进程的时候,我们的进程函数的传入参数必须是pickle-ab ...
- 1.4 Installation and Setup(安装和设置)
1.4 Installation and Setup(安装和设置) 这里我们用Anaconda发行版作为Python的使用环境,推荐安装Python3.6,本书就是用Python3.6代码写成的.(译 ...
- cocos2d-x3.0 柱图
画柱图就是多画几个矩形之后放在一起,这个实现了基本功能还不够完好假设要用到项目中须要自己改动. 原文地址:http://blog.csdn.net/qqmcy/article/details/2598 ...
- Kubernetes 初探
一.容器: 1. 容器是运行一个或一组进程的方法,使得这些进程和主机上其他进程相隔离 2. 容器类似于虚拟机,但不同于虚拟机 容器 ...
- hadoop日常维护之问题解决01
执行hadoop任务遇到的问题: Caused by: org.apache.hadoop.ipc.RemoteException(java.io.IOException): File /user/h ...