Objective-C:NSString类的常见用法

几种常见的用法为:字符串的创建、字符串的搜索、字符串的比较、字符串的转换

用途一:字符串的创建

 1 void ex1()
 2 {
 3     //1.常量字符串的对象
 4     NSString *str1 = @"hello world";
 5     NSLog(@"str1 = %@",str1);
 6     //2.通过类方法创建字符串
 7     NSString *str2 = [NSString stringWithString:str1];
 8     NSLog(@"str2 = %@",str2);
 9     //3.通过实例方法创建
10     NSString *str3 = [[NSString alloc]initWithString:str1];
11     NSLog(@"str3 = %@",str3);
12     //4.格式化字符串方式创建
13     NSString *str4 = [NSString stringWithFormat:@"name=%@,password=%@",@"admin",@"123456"];
14     NSLog(@"str4 = %@",str4);
15     //5.通过C语言字符串的创建
16     char *pstr = "how are you?";
17     NSString *str5 = [NSString stringWithUTF8String:pstr];
18     NSLog(@"str5 = %@",str5);
19     //6.通过文件的方式创建字符串
20     NSError *error = nil;
21     NSUInteger enc;
22     NSString *str6 = [[NSString alloc]initWithContentsOfFile:@"/Users/mac/Java/IO/2.txt" usedEncoding:&enc error: &error];
23     if(!error)
24     {
25         NSLog(@"str6 = %@",str6);
26     }
27     else
28     {
29         NSLog(@"读取文件失败:%@",error);
30     }
31     //7.通过网络数据创建字符串
32     NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
33     NSString *str7 = [NSString stringWithContentsOfURL:url encoding:NSUTF8StringEncoding error:&error];
34     if(!error)
35     {
36         NSLog(@"str7 = %@",str7);
37     }
38     else
39     {
40         NSLog(@"读取网络失败:%@",error);
41     }
42 }

用途二:字符串的搜索

 1 void ex2()
 2 {
 3     //1.搜索字符串
 4     NSString *str = @"this is a test";
 5     NSRange nsr = [str rangeOfString:@"test"];//返回一个结构体
 6     if(nsr.length != 0)//找到字符串
 7     {
 8       NSLog(@"location=%lu,length=%lu",nsr.location,nsr.length);
 9     }
10     //2.查找字符串是不是以什么前缀开始
11     NSString *str2 = @"http://www.sina.com.cn";
12     if([str2 hasPrefix:@"http"])
13     {
14         NSLog(@"http协议");
15     }
16     //3.查找字符串是不是以什么后缀开始
17     NSString *str3 = @"1.txt";
18     if([str3 hasSuffix:@"txt"])
19     {
20         NSLog(@"文本文件");
21     }
22     //4.在字符串中截取字串
23     NSString *str4 = @"http://www.sxt.cn?user=admin&password=1233456";
24     NSRange range1 = [str4 rangeOfString:@"user="];
25     NSRange range2 = [str4 rangeOfString:@"&password="];
26
27     //求出user的字符串区间并输出字符串
28       //用户名起始位置
29     NSUInteger location = range1.location + range1.length;
30       //用户名的有效长度
31     NSUInteger length = range2.location - location;
32
33     NSRange range3 = NSMakeRange(location,length);
34     NSString *user = [str4 substringWithRange:range3];
35
36     //求出password的字符串
37     NSString *password = [str4 substringFromIndex:range2.location+range2.length];
38
39     NSLog(@"user=%@,password=%@",user,password);
40 }

用途三:字符串的比较

 1 void ex3()
 2 {
 3     //对象比较
 4     //1.判断两个对象是不是同一个对象
 5     NSString *str1 = @"hello world";
 6     NSString *str2 = @"how are you";
 7     NSString *str3 = str1;
 8     if(str1 == str3)
 9     {
10         NSLog(@"str1和str3是同一个对象");
11     }
12     //或者
13     if([str1 isEqual:str3])
14     {
15         NSLog(@"str1和str3是同一个对象");
16     }
17     //或者
18     if([str1 isEqualTo:str3])
19     {
20         NSLog(@"str1和str3是同一个对象");
21     }
22
23     //2.判断字符串是否相等
24     if([str1 isEqualToString:@"hello world"])
25     {
26         NSLog(@"字符串相等");
27     }
28
29     //3.字符串的比较
30     NSComparisonResult result = [str1 compare:str2];
31     if(result== NSOrderedSame)
32     {
33         NSLog(@"两个字符串相等");
34     }
35     else if(result == NSOrderedAscending)
36     {
37         NSLog(@"第一个小于第二个字符串");
38     }
39     else
40     {
41         NSLog(@"第一个大于第二个字符串");
42     }
43 }

用途四:字符串的转换

 1 void ex4()
 2 {
 3     //1.其它类型转换成字符串
 4     NSString *str1 = [NSString stringWithFormat:@"%D,%.2f,%c,%s",10,12.34,‘A‘,"hello world"];
 5     NSLog(@"str1 = %@",str1);
 6
 7     //2.字符串转换为整型
 8     NSString *str2 = @"20";
 9     NSInteger  i = [str2 integerValue];
10     NSLog(@"i = %ld",i);
11
12     //3.字符串转换为实型
13     NSString *str3 = @"12.34";
14     CGFloat f = [str3 doubleValue];
15     NSLog(@"f = %.2f",f);
16
17     //4.字符串转换为C语言的字符串
18     NSString *str4 = @"how are you";
19     const char *pstr = [str4 UTF8String];
20     NSLog(@"pstr = %s",pstr);
21
22 }
时间: 2024-08-09 02:02:23

Objective-C:NSString类的常见用法的相关文章

NSString类的相关用法

一.NSString字符串连接NSString* string; // 结果字符串 NSString* string1, string2; //已存在的字符串 1. string = [NSString initWithFormat:@"%@,%@", string1, string2 ];2. string = [string1 stringByAppendingString:string2];</p>3 . string = [string stringByAppend

java File类的常见用法

File类简单用法! [java] view plain copy print? [java] view plain copy print? import java.io.File; import java.io.IOException; public class TestFile { public void createFile(String path){ File file=new File(path); if(!file.exists()){//判断文件是否存在 try { file.cr

Objective-C:NSNumber类的常见用法

NSNumber基本数据类型包装类: // //  main.m //  04-NSNumber // //  Created by ma c on 15/8/17. //  Copyright (c) 2015年 bjsxt. All rights reserved. // #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { //NSNumber的测试(基

伪类常见用法及动态更改内容、样式的方法

伪类after等常用来清除浮动.增加附加内容,利用伪类常会减少div容器的使用,使得我们的页面内容结构清晰. 本文将会简介伪类的常见用法,并以jquery为例详述如何动态更改伪类内容(content)及伪类样式.   一.常见用法 1.1 清除浮动 <div class="my-container"> <div>内容1</div> <div class="sec" data-attr='前之啊是'>内容2</di

NSString和NSMutableString 的常见用法

NSString类是我们经常使用的类,这里对其用途及常用的一些方法做一些归类. 1>字符串的创建 NSString *str = @"字符串内容“;   //直接使用字符串常量的赋值方式 NSString *str = [NSString alloc ] init];   //创建一个空的字符串对象 NSString *str = [NSString stringWithFormat: @""];  //使用类方法的格式化创建方式来创建字符串 NSString *str

IOS中NSString的常见用法

iOS NSString的常用用法 //1.创建常量字符串. NSString *astring = @"This is a String!"; //2.创建空字符串,给予赋值. NSString *astring = [[NSString alloc] init]; astring = @"This is a String!"; //3.在以上方法中,提升速度:initWithString方法 NSString *astring = [[NSString allo

.NET中Path类的一些常见用法

.NET为处理文件路径提供了一个Path类,利用该类可以方便的处理文件路径,如更改文件后缀,合并文件路径,改变文件的扩展名等.有一点需要注意的是,Path类本质上是对一个字符串进行处理,更改的只是该字符串,而不会影响实际的文件.下面是该类的一些常见用法示例: 1 string filePath = @"C:\D\log\Receive\postedFile.txt"; 2 int padSpacesLength = 30; 3 string newFilePath = string.E

C++的string类常见用法

C++的string常见用法,在网上看到一篇,但是不能在c++11编译器下运行,我修改了下,还没改完: #include<iostream> #include<string> using namespace std; int main() { string str1 = "hello"; string* str2 = new string("hello"); string str3 = "world"; //获取字符串长度

IOS中NSSData常见用法

一.NSdata的概念 1.使用文件时需要频繁地将数据读入一个临时存储区,它通常称为缓冲区 2.NSdata类提供了一种简单的方式,它用来设置缓冲区,将文件的内容读入缓冲区,或者将缓冲区内容写到一个文件. 3.对于32位应用程序,NSdata缓存最多2GB 4.我们有两种定义 NSData(不可变缓冲区),NSMutableData(可变缓冲区) NSData *fileData; NSFileManager *fileManager = [[NSFileManager alloc]init];