ios字符串的判断

<pre name="code" class="objc">
1.范围的作用,看看一下结构体:
[plain] view plaincopy

              typedef struct _NSRange {
                      unsigned int location;
                      unsigned int length;
              }NSRange;//其中location表示字段存放该范围的起始位置,length表示是该范围内所含元素的个数。  

           例如:字符串”Objective-C is a cool language“中,单词”cool“可以用loaction为17,length为4的范围来表示。也许由于Locatio字段未被初始化,所以它 的值可以是NSNotFound,用来表示无意义范围。

           可以用3种方式创建新的NSRange:
[plain] view plaincopy

              (1)直接给字段赋值
                    NSRange range:
                    range.location = 17;
                    range.length = 4;
              (2)应用C的聚合结构赋值机制
                   NSRange range = {17,4};
              (3)使用Cocoa提供的一个快捷函数NSMakeRange();
                   NSRange range = NSMakeRange(17,4);  

2.几何数据类型:
[plain] view plaincopy

                (1) NSPoint和NSSize,首先看看它们的结构体:
                      typedef struct _NSPoint{
                                 float x ;
                                 float y;
                       }NSPoint;
                      typedef struct _NSSize{
                             float width;
                             float height;
                      }NSSIze;
                (2)矩形类型NSRect
                       typedef struct _NSRect{
                               NSPoint origin;
                               NSSize size;
                       }NSRect;
                (3)它们也一样有:创建数据类型的快捷函数,NSMakePoint(),NSMakeSize()和NSMakeRect().  

3.字符串类型操作:
<pre name="code" class="objc"><span style="font-family: Arial, Helvetica, sans-serif;">           (1)创建字符串,除了直接赋值创建NSString字符串外,还可以通过:stringWithFormat方法来通过</span>

格式字符串和参数创建NSString的 +(id) stringWithFormat : (NSString *)format, .........例子如下: NSString *height; height = [NSString stringWithFormat : @"Your height is %d feet,%d inches",5,11]; 得到的字符串是“Your height is 5 feet, 11inches”. 这里需要注意的地方有两个,第一就是这个方法后面的省略号,表示这个方法可以接收多个以逗
号隔开的其他参数,第二就是方法声明的开头是一个+号,它代表创建该类的类对象,我们把这 种方法叫做“工厂方法”。 (2)获得字符串大小:length,使用方法如下 unsigned int length = [height length]; 此方法可以准确无误地处理国际字符串。如俄文,中文,日文等。 (3)NSString字符串比较操作: 1.-(BOOL) isEqualToString: (NSString *)aString; 使用如下 NSString *thing1 = @“hello 2”; NSString
*thing2 ; thing2 = [NSString stringWithFormat : @"hello %d",5 ]; if ([thing1 isEqualToString : thing2]){ NSLog(@"They are the same!"); }//注意此方法是比较字符串指针向的值,而“==”比较的是指针值。 2.-(NSComparisonResult)compare : (NSString *)string; 用法如下,首先先看看NSComparisonResult结构体: typedef
enum _NSComparisonResult{ NSOrderedAscending = -1; NSOrderedSame, NSOrderedDEscending }NSComparisonResult; 例子:[@"zoinks" compare : @"jinies"]将会返回NSOrderedDescending (表示左侧的字符在右侧字符的后面) 3.-(NSComparisonResult) compare : (NSString *)string options : (unsigned)mask;
options参数是一个位掩码,你可以使用位或运算符来添加选项标记。例子如下: if( [ thing1 compare : thing2 options : NSCaseInsensitiveSearch | NSNumericSearch ] == NSOrderedSame) { NSLog (@"They match!") ; } (4)字符串内是否包含别的字符串 1 .-(BOOL)hasPrefix:(NSString *)aString;//检查字符串是否以另一个字符串开头 -(BOOL)hasSuffix:(NSString
*)aString;//检查字符串是否以另一个字符串结尾 -(NSRange)rangeOfString: (NSString *)aString ;//将rangeOfString:发送给一个 NSString对象时,传递的参数是要查找的字符串,它会返回一个NSRange struct 来告诉你 与这个字符串相匹配的 部分在哪里以及能够匹配上的字符串个数。 例子:NSRange range; NSString *filename = @"draft-chapter.pages"; range = [fileName
rangeOfString : @"chapter"]; 返回的range.start为6,range.length为7.如果传递的参数在接收字符串中没有找到,那 range.start则等于NSNotFound。 5.可变性,NSString是不可变的,这并不意味着你不能操作它们。Cocoa提供了一个NSString的子类,叫做NSMutableString(可以改变的字符串) (1)-(id)stringWithCapacity: (unsigned)capacity; //注意这个容量只是给NSMutableString的一个建议。
例子:string = [NSMutableString stringWithCapcity : 42]; (2)有了一个可变的字符串,那就可以对它执行各种操作了: 1.-(void)appendString : (NSString *)aString; 2.-(void)appendFormat : (NSString *)format , ......; 例子:NSMutableString *string; string = [NSMutableString stringWithCapacity: 50];
[ string appendString : @"Hello there"]; [ string appendFormat : @"human %d!",39 ]; 这段代码的运行结果是string被赋值为“Hello there human 39!” 3.-(void)deleteCharactersInRange : (NSRange) range; 我们经常会把deleteCharactersInRange:和rangeOfString:连在一起使用,例子: NSMuableString *friends;
friends = [ NSMutableString stringWithCapacity: 50]; [ friends appendString : @"JAmes BethLynn Jack Evan" ]; 接下来,找到JAck的字符范围: NSRange jackRange; jackRange = [friends rangeOfString: @"Jack"]; jackRange.length++;//这句的意思是,把后面的空格也算上。 [ friends deleteCharactersInRange
: jackRange ]; 结果为:“James BethLynn Evan”


typedef struct _NSRange { unsigned int location; unsigned int length; }NSRang


//其中location表示字段存放该范围的起始位置,length表示是该范围内所含元素的个数

时间: 2024-10-11 19:08:23

ios字符串的判断的相关文章

ios 字符串

1.判断字符串是否包含某个字符 if( [str rangeOfString:@"hello"].location != NSNotFound) { NSLog(@"yes"); } else { NSLog(@"no"); } ios 字符串,布布扣,bubuko.com

iOS字符串

//将NSData转化为NSString        NSString* str = [[NSString alloc] initWithData:response encoding:NSUTF8StringEncoding];//将NSString 转化为NSData (NSString.h)- (NSData *)dataUsingEncoding:(NSStringEncoding)encoding; //载一个字符串中删除一个字符或字符串[_display deleteCharacte

iOS字符串安全

iOS字符串安全 一个编译成功的可执行程序,其中已初始化的字符串都是完整可见的. 针对于iOS的Mach-O二进制通常可获得以下几种字符串信息: 资源文件名 可见的函数符号名 SQL语句 format 通知名 对称加密算法的key 攻击者如何利用字符串 资源文件名通常用来快速定位逆向分析的入口点. 想要知道判断购买金币成功与否的代码位置?只要确定购买成功时播放的音频文件名字或者背景图名字就可以顺藤摸瓜了. kLoginSuccessNotification类似这种通知名称格外炸眼,利用Cycri

iOS6.1 &amp; iOS 7 &amp; iOS8 判断沙盒文件或者目录是否存在,以及判断是文件还是目录的一个隐藏问题

- (BOOL)fileExistsAtPath:(NSString *)path isDirectory:(BOOL *)isDirectory 通常,iOS系统中判断文件或者目录是否存在,可以用上面这个API. 第二个参数 isDirectory是个传出参数, 用于返回,是文件还是目录. 一般两种情况会使用这个API 需求一. 判断文件或者目录是否存在 需求二. 判断path是文件还是目录 需求一.只要判断这个API的返回值,YES为存在,NO为不存在即可,isDirectory不需要判断

python字符串的判断

1 i ="老司机" 2 q ="司机" in i #判断变量i是否包含"小" 3 print(q) in 可以用于字符串的判断 in 返回的类型 True 或 False

StringBuffer-需求:键盘录入一个字符串,判断它是不是对称的

package cn.StringBuffer; import java.util.Scanner; /* * 需求:键盘录入一个字符串,判断它是不是对称的 * 第一种方法:因为要获取每一个字符,所以先把字符串转成字符数组,然后第一个跟最后一个比较 * * 第二种方法:利用StringBuffer的反转功能,如果反转后的字符串和之前的字符串一样,那么是对称的 * */ public class IsSame { public static void main(String[] args) { S

PHP 字符串包含判断

遇到了这个问题.记录一下.用strpos查找字符串来进行字符串包含判断. 1 <?php 2 //$res = strpos("hello", "hx"); 3 $res = strpos("hello", "he"); 4 if ($res !== false){ 5 echo "find OK, pos:$res\n"; 6 } 7 else { 8 echo "find failed,

JS~字符串长度判断,超出进行自动截取(支持中文)

今天一个小弟问我的问题,在文本框中输入字符,如果超出指定长度,就把它截取,要求中文等于两个字符的长度,我找一下资料,把这个功能实现了,下面是JS代码: <html> <script src="http://common.cnblogs.com/script/jquery.js" type="text/javascript"></script> <body> <input type="text"

iOS 字符串转码+解压

最近遇到这样的一个问题,从服务器上返回的字符串是经过压缩的.下面记录下解决方法 // // ViewController.m // 字符串解压缩 // // Created by 杜甲 on 14-5-8. // Copyright (c) 2014年 杜甲. All rights reserved. // #import "ViewController.h" #import "LFCGzipUtillity.h" @interface ViewController