Foundation框架—字符串(NSString)
一 NSString不可变字符串
1.字符串的创建
//创建字符串常量
NSString *string1 = @"hello";
string1 = @"hello word";
//alloc创建一个字符串
NSString *string2 = [[NSString alloc] initWithString:@"hello"];
NSString *string3 = [[NSString alloc] initWithFormat:@"hello %@",string1];
NSLog(@"string2:%@",string2);
NSLog(@"string3:%@",string3);
2.字符串的拼接
NSString *str1 = @"张三";
NSString *str2 = @"李四";
NSString *str3 = @"王五";
NSInteger a = 10;
NSString *string4 = [[NSString alloc] initWithFormat:@"%@,%@,%@,%ld",str1,str2,str3,a];
NSLog(@"string4:%@",string4);
3.类方法创建字符串
NSString *string5 = [NSString stringWithString:@"这是一个字符串"];
NSString *string6 = [NSString stringWithFormat:@"hello %@",string5];
NSLog(@"%@",string6);
4.字符串的比较
NSString *s1 = @"zhangsan";
NSString *s2 = @"zhangsan";
//--------------比较指针--------------
if (s1 == s2) {
NSLog(@"指针地址一样");
}
//--------------比较内容--------------
//isEqualToString 区分大小写的
if ([s1 isEqualToString:s2]) {
NSLog(@"字符串内容一样");
}
5.使用isEqualToString
NSString *string7 = [[NSString alloc] initWithFormat:@"abc%@",@"def"];
NSString *string8 = [[NSString alloc] initWithFormat:@"abc%@",@"def"];
if ([string7 isEqualToString:string8]) {
NSLog(@"string7和string8的内容一样");
}
if (string7 == string8) {
NSLog(@"string7和string8的指针一样");
}
6.比较大小
NSString *string9 = @"changXiAngwEilai";
NSString *string10 = @"Changxiangweilai";
//compare 区分大小写的比较
NSComparisonResult result = [string9 compare:string10];
if (result == NSOrderedDescending) {
NSLog(@"这是降序");
}else {
NSLog(@"这是升序");
}
//caseInsensitiveCompare:不区分大小写的比较
result = [string9 caseInsensitiveCompare:string10];
if (result == NSOrderedSame) {
NSLog(@"不区分大小写相同");
}
7.判断字符串的开头
NSString *string11 = @"changxiangweilai";
if ([string11 hasPrefix:@"chang"]) {
NSLog(@"string11是以chang开头");
}
8.判断字符串的结尾
if ([string11 hasSuffix:@"lai"]) {
NSLog(@"string11是以lai结尾");
}
9.字符串转换
NSString *string12 = @"heLlO WoRd";
//将字符串转换成小写lowercaseString
NSLog(@"小写:%@",string12.lowercaseString);
//将字符串转换成大写uppercaseString
NSLog(@"大写:%@",string12.uppercaseString);
//首字母改成大写,其他小写capitalizedString
NSLog(@"首字母大写:%@",string12.capitalizedString);
10.字符串和基本数据类型转换
NSString *string13 = @"12";
//string-> int
NSInteger intValue = [string13 integerValue];
NSLog(@"intValue:%ld",intValue);
NSString *string14 = @"3.4";
float floatValue = [string14 floatValue];
NSLog(@"floatValue:%f",floatValue);
NSString *string15 = @"12";
[string15 boolValue];
11.字符串的长度
NSString *string15 = @"abcdefg";
NSUInteger length = string15.length;
NSLog(@"length:%ld",length);
12.根据下标获取字符
unichar c = [string15 characterAtIndex:3];
NSLog(@"c:%c",c);
13.字符串的截取
NSString *string16 = @"www.baidu.com";
//1.截取到某一个指定的位置 substringToIndex (不包含当前的下标)
// 截取出www
NSString *subStr1 = [string16 substringToIndex:3];
NSLog(@"subStr1:%@",subStr1);
//2.从指定位置截取 substringFromIndex (包含当前下标)
//截取出com
NSString *subStr2 = [string16 substringFromIndex:10];
NSLog(@"subStr2:%@",subStr2);
//3.从某一个指定的截取指定长度
//baidu
NSRange rg = {4,5};
NSString *subStr3 = [string16 substringWithRange:rg];
NSLog(@"subStr3:%@",subStr3);
14.字符串的追加
NSString *string17 = @"Andriod";
//在Andriod后面追加 iOS
NSString *appendStr1 = [string17 stringByAppendingString:@" iOS"];
NSLog(@"appendStr1:%@",appendStr1);
NSString *appendStr2 = [string17 stringByAppendingFormat:@" %@%d",@"iOS",9];
NSLog(@"appendStr2:%@",appendStr2);
15.字符串的检索
NSString *string18 = @"12345678@qq.com";
//检索字符串中的qq.com
NSRange rg1 = [string18 rangeOfString:@"qqcom"];
//返回的结果:如果找到了,则返回字符串的信息;如果找不带,则location会返回一个NSNotFound
NSLog(@"location:%ld length:%ld",rg1.location,rg1.length);
if (rg1.location == NSNotFound) {
NSLog(@"找不到");
}
二. NSMutableString(可变字符串)
1.可变字符串的创建
//NSMutableString *mutStr1 = @"abc"; //不能这么写是常量@“abc”
NSMutableString *mutStr1 = [[NSMutableString alloc] initWithString:@"字符串"];
2.插入数据
[mutStr1 insertString:@"可变" atIndex:0];
3.追加
[mutStr1 appendString:@"对象哈哈"];
4.删除
//删除“哈哈”
NSRange rg2 = [mutStr1 rangeOfString:@"哈哈"];
[mutStr1 deleteCharactersInRange:rg2];
5.替换
//(1)检索需要替换的字符串
NSRange rg4 = [mutStr1 rangeOfString:@"字符串"];
//(2)替换
[mutStr1 replaceCharactersInRange:rg4 withString:@"数组"];
NSLog(@"mutStr1:%@",mutStr1);
6.按照某个字符将字符串截取成若干个字符串
NSString *str = @"this is string";
NSArray *arr = [str componentsSeparatedByString:@" "];
NSLog(@"arr = %@",arr);
Foundation框架—字符串(NSString)的更多相关文章
- 14.Object-C--浅谈Foundation框架字符串NSString 与NSMutableString
OC的字符串时经常使用到的,今天我对于OC字符串做一个简单的总结,如果有错误之处,麻烦留言指正.感谢! NSString是一个不可变长度的字符串对象.表示它初始化以后,你不能改变该变量所分配的内存中的 ...
- Foundation框架—字符串
Foundation框架—字符串 一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:O ...
- Foundation框架之NSString及其Mutable类型
Foundation框架之NSString及其Mutable类型 目录 概述 对字符串的实用操作 拼接 拆分 字符串比较 是否包含某字符串 字数统计 大小写转换 具体的方法参见API 待研究 概述 对 ...
- 李洪强iOS之Foundation框架—字符串
Foundation框架—字符串 一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:O ...
- OC中Foundation框架之NSString、NSMutableString
创建方式 )直接赋值 NSString *str =@"abc"; )创建对象 NSString *str2 = [[NSString alloc]init]; str2 =@&q ...
- OC Foundation框架—字符串
一.Foundation框架中一些常用的类 字符串型: NSString:不可变字符串 NSMutableString:可变字符串 集合型: 1) NSArray:OC不可变数组 NSMutableA ...
- 【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词
一. 字符串 API 1. NSString 用法简介 (1) NSString API 介绍 NSString 功能 : -- 创建字符串 : 使用 init 开头的实例方法, 也可以使用 Stri ...
- OC Foundation框架—字符串操作方法及习题
#import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { ...
- Foundation框架系列-NSString
NSString OC字符串与C语言字符串转换 NSString *str = @"Hello world ! !"; // OC字符串 --> C语言字符串 char *c ...
随机推荐
- VBS 获取当前进程 ID
Function CurrProcessId Dim oShell, sCmd, oWMI, oChldPrcs, oCols, lOut lOut = Set oShell = CreateObje ...
- ILGenerator.Emit动态 MSIL编程(一)之基础
首先在Framework中,Emit相关的类基本都存在于System.Reflection.Emit命名空间下.可见Emit是作为反射的一个元素存在的. Emit能够实现什么?为什么要学习Emit?首 ...
- python3.5学习笔记:linux6.4 安装python3 pip setuptools
前言: python3应该是python的趋势所在,当然目前争议也比较大,这篇随笔的主要目的是记录在linux6.4下搭建python3环境的过程 以及碰到的问题和解决过程. 另外,如果本机安装了py ...
- [2016.01.18]文本替换专家 v5.3
文本替换专家,界面简洁易用,功能强大实用.支持大小写匹配,支持多级目录.多行文本.多种文件格式的同时批量查找和批量替换.智能准确的区分ANSI.UTF-8(包括无BOM的UTF-8).Unicode. ...
- MyBatis入门学习教程-Mybatis3.x与Spring4.x整合
一.搭建开发环境 1.1.使用Maven创建Web项目 执行如下命令: mvn archetype:create -DgroupId=me.gacl -DartifactId=spring4-myba ...
- du 使用详解 linux查看目录大小 linux统计目录大小并排序 查看目录下所有一级子目录文件夹大小 du -h --max-depth=1 |grep [
常用命令 du -h --max-depth=1 |grep [TG] |sort #查找上G和T的目录并排序 du -sh #统计当前目录的大小,以直观方式展现 du -h --max-d ...
- Dual Number
http://ncatlab.org/nlab/show/dual+number http://mathworld.wolfram.com/DualNumber.html https://en.wik ...
- 多表数据连接 Left join
一个我写的实例:其中多表连接,一共连接了3个表.使用聚集函数SUM,用到了GROUP BY SELECT a.[UserID],b.[Name],sum (c.[Money]+c.[Bank])as ...
- 记一次故障处理----主机异常关闭后mongodb二进制文件损坏
今天,在某个演示环境中,我们的产品经历过整个机房断电后,出现了mongodb二进制文件损坏,以下是故障的分析记录过程: 1.在客户处支撑的同事发现整个机房断电再恢复后,3个mongodb复制集中,有1 ...
- Python的第二天
一.while循环语句 Python 编程中 while 语句用于循环执行程序,即在某条件下,循环执行某段程序,以处理需要重复处理的相同任务.其基本形式为: while 判断条件: 执行语句-- 执行 ...