Objective-C:NSString类的常见用法
几种常见的用法为:字符串的创建、字符串的搜索、字符串的比较、字符串的转换
用途一:字符串的创建
void ex1()
{
//1.常量字符串的对象
NSString *str1 = @"hello world";
NSLog(@"str1 = %@",str1);
//2.通过类方法创建字符串
NSString *str2 = [NSString stringWithString:str1];
NSLog(@"str2 = %@",str2);
//3.通过实例方法创建
NSString *str3 = [[NSString alloc]initWithString:str1];
NSLog(@"str3 = %@",str3);
//4.格式化字符串方式创建
NSString *str4 = [NSString stringWithFormat:@"name=%@,password=%@",@"admin",@""];
NSLog(@"str4 = %@",str4);
//5.通过C语言字符串的创建
char *pstr = "how are you?";
NSString *str5 = [NSString stringWithUTF8String:pstr];
NSLog(@"str5 = %@",str5);
//6.通过文件的方式创建字符串
NSError *error = nil;
NSUInteger enc;
NSString *str6 = [[NSString alloc]initWithContentsOfFile:@"/Users/mac/Java/IO/2.txt" usedEncoding:&enc error: &error];
if(!error)
{
NSLog(@"str6 = %@",str6);
}
else
{
NSLog(@"读取文件失败:%@",error);
}
//7.通过网络数据创建字符串
NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
NSString *str7 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
if(!error)
{
NSLog(@"str7 = %@",str7);
}
else
{
NSLog(@"读取网络失败:%@",error);
}
}
用途二:字符串的搜索
void ex2()
{
//1.搜索字符串
NSString *str = @"this is a test";
NSRange nsr = [str rangeOfString:@"test"];//返回一个结构体
if(nsr.length != )//找到字符串
{
NSLog(@"location=%lu,length=%lu",nsr.location,nsr.length);
}
//2.查找字符串是不是以什么前缀开始
NSString *str2 = @"http://www.sina.com.cn";
if([str2 hasPrefix:@"http"])
{
NSLog(@"http协议");
}
//3.查找字符串是不是以什么后缀开始
NSString *str3 = @"1.txt";
if([str3 hasSuffix:@"txt"])
{
NSLog(@"文本文件");
}
//4.在字符串中截取字串
NSString *str4 = @"http://www.sxt.cn?user=admin&password=1233456";
NSRange range1 = [str4 rangeOfString:@"user="];
NSRange range2 = [str4 rangeOfString:@"&password="]; //求出user的字符串区间并输出字符串
//用户名起始位置
NSUInteger location = range1.location + range1.length;
//用户名的有效长度
NSUInteger length = range2.location - location; NSRange range3 = NSMakeRange(location,length);
NSString *user = [str4 substringWithRange:range3]; //求出password的字符串
NSString *password = [str4 substringFromIndex:range2.location+range2.length]; NSLog(@"user=%@,password=%@",user,password);
}
用途三:字符串的比较
void ex3()
{
//对象比较
//1.判断两个对象是不是同一个对象
NSString *str1 = @"hello world";
NSString *str2 = @"how are you";
NSString *str3 = str1;
if(str1 == str3)
{
NSLog(@"str1和str3是同一个对象");
}
//或者
if([str1 isEqual:str3])
{
NSLog(@"str1和str3是同一个对象");
}
//或者
if([str1 isEqualTo:str3])
{
NSLog(@"str1和str3是同一个对象");
} //2.判断字符串是否相等
if([str1 isEqualToString:@"hello world"])
{
NSLog(@"字符串相等");
} //3.字符串的比较
NSComparisonResult result = [str1 compare:str2];
if(result== NSOrderedSame)
{
NSLog(@"两个字符串相等");
}
else if(result == NSOrderedAscending)
{
NSLog(@"第一个小于第二个字符串");
}
else
{
NSLog(@"第一个大于第二个字符串");
}
}
用途四:字符串的转换
void ex4()
{
//1.其它类型转换成字符串
NSString *str1 = [NSString stringWithFormat:@"%D,%.2f,%c,%s",,12.34,'A',"hello world"];
NSLog(@"str1 = %@",str1); //2.字符串转换为整型
NSString *str2 = @"";
NSInteger i = [str2 integerValue];
NSLog(@"i = %ld",i); //3.字符串转换为实型
NSString *str3 = @"12.34";
CGFloat f = [str3 doubleValue];
NSLog(@"f = %.2f",f); //4.字符串转换为C语言的字符串
NSString *str4 = @"how are you";
const char *pstr = [str4 UTF8String];
NSLog(@"pstr = %s",pstr); }
Objective-C:NSString类的常见用法的更多相关文章
- Date类的常见用法——JavaSE基础
Date类的常见用法 Date类属于java.util包 因此需要导入Date类 Date() 分配一个Date对象,并初始化此对象为系统当前的日期和时间,可以精确到毫秒). Date(long da ...
- NSString 类介绍及用法
1.NSString常见方法 NSString是 Objective-C 中核心处理字符串的类之一 创建常量字符串,注意使用"@"符号. NSString *astring = @ ...
- NSString类的相关用法
一.NSString字符串连接NSString* string; // 结果字符串 NSString* string1, string2; //已存在的字符串 1. string = [NSStrin ...
- java枚举类的常见用法
枚举类型(Enumerated Type) 很早就出现在编程语言中,它被用来将一组类似的值包含到一种类型当中.而这种枚举类型的名称则会被定义成独一无二的类型描述符,在这一点上和常量的定义相似.不过相比 ...
- Objective-C:NSValue类的常见用法
特殊类型的包装类:数组.结构体(OC内部的.自定义的).指针 // // main.m // 05-NSValue // // Created by ma c on 15/8/17. // Copyr ...
- Objective-C:NSNumber类的常见用法
NSNumber基本数据类型包装类: // // main.m // 04-NSNumber // // Created by ma c on 15/8/17. // Copyright (c ...
- JAVA中数组Arrays类的常见用法
import java.util.Arrays; int[] array1={7,8,3,2,12,6,5,4}; 1. //克隆clone int[] array2=array1.clone() ...
- NSString常见用法总结
//====================NSStirng 的常见用法==================== -(void)testString { //创建格式化字符串:占位符(由一个%加一个字 ...
- C++的string类常见用法
C++的string常见用法,在网上看到一篇,但是不能在c++11编译器下运行,我修改了下,还没改完: #include<iostream> #include<string> ...
随机推荐
- Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之flanneld网络介绍及部署(三)
0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 一.flanneld介绍 ...
- mysql常见知识点
最近整理了一些数据库常见的面试题,对自己也是个复习,希望对大家也有所帮助. 1.触发器的作用? 触发器是一类特殊的存储过程,主要是通过事件来触发而被执行的.它可以强化约束,来维护数据的完整性和一致性, ...
- luoguP2303 [SDOI2012]Longge的问题 化式子
求\(\sum \limits_{i = 1}^n gcd(i, n)\) \(\sum \limits_{i = 1}^n gcd(i, n)\) \(=\sum \limits_{i = 1}^n ...
- [xsy2913]enos
题意:一棵树,点有$0,1,2$三种颜色,支持路径修改颜色和查询点所在同色连通块的大小 lcm太可怕了,于是去问了sk,得到一个优质做法 考虑lct维护子树信息,$vs_{x,i}$为$x$的虚儿子中 ...
- sgu 194 上下界网络流可行流判定+输出可行流
#include <cstdio> #include <cstring> #define min(a,b) ((a)<(b)?(a):(b)) #define oo 0x ...
- flex sqlite 操作blog 二进制数据
1, 通常的操作方式: 首先我们建立表:CREATE TABLE "pages" ("id" varchar, "data& ...
- XMOJ 1133: 膜拜大牛 计算几何/两圆相交
1133: 膜拜大牛 Time Limit: 1 Sec Memory Limit: 131072KiBSubmit: 9619 Solved: 3287 题目连接 http://acm.xmu. ...
- UVALive 6662 TheLastAnt
#include <iostream> #include <cstdio> #include <cstring> #include <algorithm> ...
- PHP运行时强制显示出错信息
调试很重要 error_reporting(E_ALL); ini_set('display_errors', '1'); 将出错信息输出到一个文本文件 ini_set('error_log', di ...
- 网络服务器搭建的那些事(PV QPS Throughput) 转载
一.前言: 从事后台sever开发的同学,代码开发完成之后,上线之前,总会进行各种黑盒白盒测试,压测.正确性测试... 而测试同学,会给开发同学一份测试报告,需要开发同学进行确认...问题来了,里面好 ...