Foundation框架基础 NSString
来源:互联网 发布:开淘宝网店怎么弄客服 编辑:程序博客网 时间:2024/05/21 19:31
#import<Foundation/Foundation.h>
/*
概念:NSString是不可变字符串,所有它所有产生其他字符串方法都是生成一个新的字符串,而不会改变原来字符串
*/
#import"NSString+CZ.h"
//字符串与URL
//URL: 概念:Uniform Resource Locator 统一资源定位符
//URL:格式 协议头://主机名称/资源路径
//http://www.itcast.cn:8080/images/beauty.png
//404 没找到
//file:///Users/apple/Desktop/test.txt
//由于file就是在本机上查找,所有没有主机名称
//ftp://
intmain(intargc, const char * argv[]) {
NSString *str =@"今天好冷啊!要多穿衣服!®";
//// 把UTF8编码的字符串,编码成为URL中可用的字符串
// NSString *str3 = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//// 把URL中可用的字符串,编码成为UTF8编码的字符串
// str3 =[str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// NSLog(@"%@",str3);
NSString *path =@"file:///Users/apple/Desktop/测试.txt";
path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// NSURL *url = [NSURL URLWithString:@"file:///Users/apple/Desktop/test.txt"];
NSURL *url = [NSURLURLWithString:path];
NSError *error =nil;
[str writeToURL:urlatomically:YESencoding:NSUTF8StringEncodingerror:&error];
if (error) {
NSLog(@"%@",error);
}else{
NSLog(@"写入成功!");
}
NSString *content = [NSStringstringWithContentsOfURL:urlencoding:NSUTF8StringEncodingerror:&error];
#import"NSString+CZ.h"
//字符串与URL
//URL: 概念:Uniform Resource Locator 统一资源定位符
//URL:格式 协议头://主机名称/资源路径
//http://www.itcast.cn:8080/images/beauty.png
//404 没找到
//file:///Users/apple/Desktop/test.txt
//由于file就是在本机上查找,所有没有主机名称
//ftp://
intmain(intargc, const char * argv[]) {
NSString *str =@"今天好冷啊!要多穿衣服!®";
//// 把UTF8编码的字符串,编码成为URL中可用的字符串
// NSString *str3 = [str stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
//// 把URL中可用的字符串,编码成为UTF8编码的字符串
// str3 =[str stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// NSLog(@"%@",str3);
NSString *path =@"file:///Users/apple/Desktop/测试.txt";
path = [path stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
// NSURL *url = [NSURL URLWithString:@"file:///Users/apple/Desktop/test.txt"];
NSURL *url = [NSURLURLWithString:path];
NSError *error =nil;
[str writeToURL:urlatomically:YESencoding:NSUTF8StringEncodingerror:&error];
if (error) {
NSLog(@"%@",error);
}else{
NSLog(@"写入成功!");
}
NSString *content = [NSStringstringWithContentsOfURL:urlencoding:NSUTF8StringEncodingerror:&error];
NSLog(@"%@",content);
return 0;
}
//字符串与文件
voidtestStringAndfile()
{
// 把字符串写入文件
NSString *str =@"今天好冷啊!";
NSString *path =@"/Users/apple/Desktop/test.txt";
NSError *error =nil;
BOOL isSuccess = [strwriteToFile:pathatomically:YESencoding:NSUTF8StringEncodingerror:(&error)];
// if (isSuccess) {
// NSLog(@"写入成功!");
// }else{
// NSLog(@"%@",error.userInfo);
// }
// if (error) {
// NSLog(@"%@",error.userInfo);
// }else{
// NSLog(@"写入成功!");
// }
// 读取文件
NSString *string = [NSStringstringWithContentsOfFile:pathencoding:NSUTF8StringEncodingerror:&error];
if (error) {
NSLog(@"%@",error);
}else{
NSLog(@"%@",string);
}
}
voidtestStringPath()
{
// 在原来的路径上拼接一个路径
NSString *path =@"/Users/apple/test.txt";
// path = [path stringByAppendingPathComponent:@"Desktop"];
// 获取扩展名(拓展名)
// path = [path pathExtension];
path = [path stringByDeletingPathExtension];
path = [path stringByAppendingPathExtension:@"png"];
NSLog(@"%@",path);
}
voidtestRepeace()
{
NSString *str =@" \nwww - itcast - cn ";
// 在原有字符串的末尾拼接另一个字符产生一个新的字符串
// itcast
NSString *str1 = [strstringByAppendingString:@"itcast"];
NSLog(@"%@",str1);
// 字符替换
str1 = [str stringByReplacingOccurrencesOfString:@"-"withString:@"."];
str1 = [str stringByReplacingOccurrencesOfString:@"-"withString:@"."];
NSLog(@"%@",str1);
// 去掉字符串中空格
str1 = [str stringByReplacingOccurrencesOfString:@" "withString:@""];
str1 = [str stringByReplacingOccurrencesOfString:@" "withString:@""];
NSLog(@"%@",str1);
// 使用某个字符串替换掉原来字符串中某个区间的字符串
NSRange range = [strrangeOfString:@"itcast"];
str1 = [str stringByReplacingCharactersInRange:rangewithString:@"传智播客"];
NSLog(@"%@",str1);
// 删除原字符串中的所有指定的字符
str1 = [str stringByReplacingOccurrencesOfString:@"itcast"withString:@""];
NSLog(@"%@",str1);
// 【掌握】去掉两头的空格
str1 = [str stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceCharacterSet]];
NSRange range = [strrangeOfString:@"itcast"];
str1 = [str stringByReplacingCharactersInRange:rangewithString:@"传智播客"];
NSLog(@"%@",str1);
// 删除原字符串中的所有指定的字符
str1 = [str stringByReplacingOccurrencesOfString:@"itcast"withString:@""];
NSLog(@"%@",str1);
// 【掌握】去掉两头的空格
str1 = [str stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceCharacterSet]];
NSLog(@"%@",str1);
}
voidtestConvert()
{
// 1、转大写
NSString *str =@"today is cool";
// 大写
NSString *str2 = [struppercaseString];
// 小写
voidtestConvert()
{
// 1、转大写
NSString *str =@"today is cool";
// 大写
NSString *str2 = [struppercaseString];
// 小写
str2 = [str2lowercaseString];
// 单词首字母大写
str2 = [str capitalizedString];
NSLog(@"%@",str);
str2 = [str capitalizedString];
NSLog(@"%@",str);
NSLog(@"%@",str2);
// 基本数据类型转字符串
NSString *intStr = [NSStringstringWithFormat:@"%i",10];
NSString *intStr = [NSStringstringWithFormat:@"%i",10];
NSLog(@"%@",intStr);
// 字符转基本数据类型
int i = intStr.intValue;
double d = intStr.doubleValue;
float f = intStr.floatValue;
NSLog(@"%d,%lf",i,d);
// 把C语言字符串转换为OC字符串
NSString *str8 = [NSStringstringWithCString:"hehe"encoding:NSUTF8StringEncoding];
NSLog(@"%@",str8);
// 把OC语言字符串转换为C字符串
const char *cStr = [str8cStringUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%s",cStr);
}
voidtestCompare()
{
// 字符串的比较
NSString *str1 =@"abc";
NSString *str2 =@"Abc";
// 比较是内容,从前往后一个一个的比较
NSComparisonResult result = [str1 compare:str2];
/*
NSOrderedAscending = -1L, str1 < str2
NSOrderedSame, str1 == str2
NSOrderedDescending str1 > str2
*/
// if(result == NSOrderedSame){
// NSLog(@"str1 == str2");
// }else if(result == NSOrderedAscending){
// NSLog(@"str1 < str2");
// }else if(result == NSOrderedDescending){
// NSLog(@"str1 > str2");
// }
result = [str1 compare:str2options:NSCaseInsensitiveSearch];
/*
NSCaseInsensitiveSearch 忽略大小写
NSNumericSearch 用于数值类型的比较
*/
if(result ==NSOrderedSame){
NSLog(@"str1 == str2");
}elseif(result ==NSOrderedAscending){
NSLog(@"str1 < str2");
}elseif(result ==NSOrderedDescending){
NSLog(@"str1 > str2");
}
str1 = @"0123";
str2 = @"123";
result = [str1 compare:str2options:NSNumericSearch];
if(result ==NSOrderedSame){
NSLog(@"str1 == str2");
}elseif(result ==NSOrderedAscending){
NSLog(@"str1 < str2");
}elseif(result ==NSOrderedDescending){
NSLog(@"str1 > str2");
int i = intStr.intValue;
double d = intStr.doubleValue;
float f = intStr.floatValue;
NSLog(@"%d,%lf",i,d);
// 把C语言字符串转换为OC字符串
NSString *str8 = [NSStringstringWithCString:"hehe"encoding:NSUTF8StringEncoding];
NSLog(@"%@",str8);
// 把OC语言字符串转换为C字符串
const char *cStr = [str8cStringUsingEncoding:NSUTF8StringEncoding];
NSLog(@"%s",cStr);
}
voidtestCompare()
{
// 字符串的比较
NSString *str1 =@"abc";
NSString *str2 =@"Abc";
// 比较是内容,从前往后一个一个的比较
NSComparisonResult result = [str1 compare:str2];
/*
NSOrderedAscending = -1L, str1 < str2
NSOrderedSame, str1 == str2
NSOrderedDescending str1 > str2
*/
// if(result == NSOrderedSame){
// NSLog(@"str1 == str2");
// }else if(result == NSOrderedAscending){
// NSLog(@"str1 < str2");
// }else if(result == NSOrderedDescending){
// NSLog(@"str1 > str2");
// }
result = [str1 compare:str2options:NSCaseInsensitiveSearch];
/*
NSCaseInsensitiveSearch 忽略大小写
NSNumericSearch 用于数值类型的比较
*/
if(result ==NSOrderedSame){
NSLog(@"str1 == str2");
}elseif(result ==NSOrderedAscending){
NSLog(@"str1 < str2");
}elseif(result ==NSOrderedDescending){
NSLog(@"str1 > str2");
}
str1 = @"0123";
str2 = @"123";
result = [str1 compare:str2options:NSNumericSearch];
if(result ==NSOrderedSame){
NSLog(@"str1 == str2");
}elseif(result ==NSOrderedAscending){
NSLog(@"str1 < str2");
}elseif(result ==NSOrderedDescending){
NSLog(@"str1 > str2");
}
}
voidtestHas()
{
//字符串以什么开头
NSString *string =@"http://www.itcast.cn/images/beauty.png";
// 判断协议是不http
// 前缀
BOOL isHttp = [stringhasPrefix:@"http://"];
if (isHttp) {
NSLog(@"是一个HTTP 协议");
// 判断协议是不http
// 前缀
BOOL isHttp = [stringhasPrefix:@"http://"];
if (isHttp) {
NSLog(@"是一个HTTP 协议");
}
// 判断资源是不是一个png的图片 mp4 mp3 jpeg txt doc xls pages
// 后缀
BOOL isPng= [stringhasSuffix:@".png"];
if (isPng) {
NSLog(@"是一个png类型的图片");
}
}
voidtestIsEqual()
{
NSString *str1 =@"";
// NSString *str2 = @"acc";
// 后缀
BOOL isPng= [stringhasSuffix:@".png"];
if (isPng) {
NSLog(@"是一个png类型的图片");
}
}
voidtestIsEqual()
{
NSString *str1 =@"";
// NSString *str2 = @"acc";
// 比较字符的地址
// if (str1 == str2) {
// NSLog(@"相等");
// if (str1 == str2) {
// NSLog(@"相等");
// }
NSString *str3 = [NSStringstringWithFormat:@"a"];
// 比较内容
if ([str1isEqualToString:str3]) {
NSLog(@"相等");
}
if ([str1isEqual:str3]) {
NSLog(@"相等");
}
//
if ([str1myIsEqual:str3]) {
NSLog(@"相等");
}
}
voidtestCharacterAtIndex()
{
NSString *str =@"www.itcast.cn";
unichar c = [strcharacterAtIndex:4];
NSLog(@"%c",c);
}
// 比较内容
if ([str1isEqualToString:str3]) {
NSLog(@"相等");
}
if ([str1isEqual:str3]) {
NSLog(@"相等");
}
//
if ([str1myIsEqual:str3]) {
NSLog(@"相等");
}
}
voidtestCharacterAtIndex()
{
NSString *str =@"www.itcast.cn";
unichar c = [strcharacterAtIndex:4];
NSLog(@"%c",c);
}
/*
练习
用3种方法将下面字符串中的中文截取出来
用3种方法将下面字符串中的中文截取出来
<itcast>传智播客</itcast>
*/
voidtestSubString2()
{
// 1、第一种方式 XML
NSString *str =@"<itcast>传智播客</itcast>";
NSRange range = {8,4};
NSString *str2 = [strsubstringWithRange:range];
voidtestSubString2()
{
// 1、第一种方式 XML
NSString *str =@"<itcast>传智播客</itcast>";
NSRange range = {8,4};
NSString *str2 = [strsubstringWithRange:range];
NSLog(@"%@",str2);
// 2、找“>”位置
NSRange range1 = [strrangeOfString:@">"];
NSRange range1 = [strrangeOfString:@">"];
NSLog(@"%@",NSStringFromRange(range1));
// <itcast>传智播客</itcast> -》 传智播客</itcast>
NSString *str3 = [strsubstringFromIndex:range1.location+1];
NSString *str3 = [strsubstringFromIndex:range1.location+1];
NSRange range2 = [str3 rangeOfString:@"<"];
// 传智播客</itcast> -> 传智播客
NSString *str4 = [str3substringToIndex:range2.location];
NSString *str4 = [str3substringToIndex:range2.location];
NSLog(@"%@",str4);
// 3、第三种方式 <itcast>传智播客</itcast> -》 <itcast>传智播客
NSRange range5 = [strrangeOfString:@"</"];
NSRange range5 = [strrangeOfString:@"</"];
NSLog(@"%@",NSStringFromRange(range5));
// <itcast>传智播客</itcast> -》 <itcast>传智播客
NSString *str5 = [strsubstringToIndex:range5.location];
// <itcast>传智播客 -> 传智播客
NSRange range6 = [str5rangeOfString:@">"];
NSString *str8 = [str5substringFromIndex:range6.location+1];
NSLog(@"%@",str8);
}
voidtestSubString()
{
// 字符串的获取
// 1、获取字符长度
NSString *str =@"www.itcast.cn";
long length = str.length;
NSString *str5 = [strsubstringToIndex:range5.location];
// <itcast>传智播客 -> 传智播客
NSRange range6 = [str5rangeOfString:@">"];
NSString *str8 = [str5substringFromIndex:range6.location+1];
NSLog(@"%@",str8);
}
voidtestSubString()
{
// 字符串的获取
// 1、获取字符长度
NSString *str =@"www.itcast.cn";
long length = str.length;
NSLog(@"%zd",length);
// 2、获取子串
// 从哪个索引开始截取到字符串的末尾(包含索引上字符)
NSString *str2 = [strsubstringFromIndex:4];
// 从哪个索引开始截取到字符串的末尾(包含索引上字符)
NSString *str2 = [strsubstringFromIndex:4];
NSLog(@"%@",str2);
// 从字符开头开始截取到索引的位置(不包含索引上的字符)
NSString *str3 = [strsubstringToIndex:3];
NSLog(@"%@",str3);
/*
typedef struct _NSRange {
NSUInteger location;//起始位置
NSUInteger length;//表示长度
NSString *str3 = [strsubstringToIndex:3];
NSLog(@"%@",str3);
/*
typedef struct _NSRange {
NSUInteger location;//起始位置
NSUInteger length;//表示长度
} NSRange;
*/
// 从哪个位置开始截取,截取多长
NSRange range = {4,6};
NSString *str4 = [strsubstringWithRange:range];
NSLog(@"%@",str4);
// 获取某个子串所在的区间
NSRange range1 = [strrangeOfString:@"itcast"];
NSLog(@"%@",NSStringFromRange(range));
NSRange range2 = [strrangeOfString:@"icast"];
if (range2.location== NSNotFound) {
NSLog(@"没有这个子串");
}
if (range2.length== 0) {
NSLog(@"没有这个子串");
}
NSRange range = {4,6};
NSString *str4 = [strsubstringWithRange:range];
NSLog(@"%@",str4);
// 获取某个子串所在的区间
NSRange range1 = [strrangeOfString:@"itcast"];
NSLog(@"%@",NSStringFromRange(range));
NSRange range2 = [strrangeOfString:@"icast"];
if (range2.location== NSNotFound) {
NSLog(@"没有这个子串");
}
if (range2.length== 0) {
NSLog(@"没有这个子串");
}
NSLog(@"%@",NSStringFromRange(range2));
}
voidtestCreateString()
{
// 第一种:字面量,它是常量字符串,存储常量区
NSString *str =@"abc";
NSString *str2 =@"abc";
NSLog(@"%p",str);
voidtestCreateString()
{
// 第一种:字面量,它是常量字符串,存储常量区
NSString *str =@"abc";
NSString *str2 =@"abc";
NSLog(@"%p",str);
NSLog(@"%p",str2);
// 第二种是通过 快捷的构造方法
NSString *string = [NSStringstringWithFormat:@"string = %@,int = %d",@"hello",10];
NSString *string = [NSStringstringWithFormat:@"string = %@,int = %d",@"hello",10];
NSLog(@"%p",string);
// 第三种方式 初始化方法
NSString * str3 = [[NSStringalloc] initWithFormat:@"%@",@"abc"];
NSLog(@"%p",str3);
NSString * str3 = [[NSStringalloc] initWithFormat:@"%@",@"abc"];
NSLog(@"%p",str3);
}
0 0
- Foundation框架基础 NSString
- Foundation框架 NSString
- Foundation框架之NSString
- Foundation框架中的NSString
- Foundation框架中的NSString
- Foundation框架(NSString)
- Foundation框架- NSString用法
- Foundation框架-NSString
- Foundation基础 --- NSString类
- OC基础-Foundation框架-0321-常见结构体和NSString
- OC基础:Foundation框架之NSString和NSMutableString
- Foundation框架---NSString 和 NSMutableString
- Foundation框架-01 NSString对象
- 【黑马程序员】Foundation框架NSString
- Cocoa Foundation 框架:NSString字符串的使用
- Objective C Foundation框架(NSString)
- Foundation框架第二弹:NSString常用方法
- Foundation框架中的字符串(NSString/NSMutableString)
- easyNeurons 神经网络入门教程
- 9个完整android开源app项目
- HBase总结(十九)数据导入方式
- Ubuntu默认root密码
- Ambari系列(一):在离线环境中自动化安装Hadoop集群
- Foundation框架基础 NSString
- UI第六课
- FAT32学习笔记(三)文件的删除,目录的删除,FAT32表的用途,FsInfo的作用
- 黑马程序员──反射
- atitit.编程语言会形成进化树--哪些特性会繁荣??通才还是专才的选型 现代编程语言的特性总结
- foundation框架基础 NSMutableString 可变字符串
- 电力系统决策支持系统
- ListView中排序和分组(GroupTemplate)的使用实例演示
- 伸展树hdu4453(good)