`
浮生长恨
  • 浏览: 213305 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

objective c 字符串各种处理(转)

阅读更多

原地址:http://blog.csdn.net/dingkun520wy/article/details/7010270



关于字符串的各种操作,总结一下以便以后复习查找。

内容简要:

1、创建常量字符串。 2、创建空字符串,给予赋值。3、在以上方法中,提升速度:initWithString方法

 

4、用标准c创建字符串:initWithCString方法。5、创建格式化字符串:占位符(由一个%加一个字符组成)

 

6、创建临时字符串。7、判断字符串为空。9、是否以”test”开头;是否以”.move”结尾。10、比较两个字符串。

 

11、声明一个可变字符;长度是40个字符。12、修改可变字符;先声明一个可变字符 myFriend;长度30。

 

13、在一个字符串后面附加一个新的字符串。14、字符串转换整数值。

 

15、从文件读取字符串:initWithContentsOfFile方法。16、写字符串到文件:writeToFile方法

 

17改变字符串的大小写。18、在串中搜索子串。19、抽取子串。20、扩展路径。21、文件扩展名。

 

22、在已有字符串后面添加字符23、在已有字符串中按照所给出范围和长度删除字符。

 

24、在已有字符串后面在所指定的位置中插入给出的字符串。25、将已有的空符串换成其它的字符串。

 

26、按照所给出的范围,和字符串替换的原有的字符。27、判断字符串内是否还包含别的字符串(前缀,后缀)。

---------------------------------------------------------------------------------------------------------------------


1、创建常量字符串。
 NSString *astring = @"This is a String!";


 2、创建空字符串,给予赋值。

 NSString *astring = [[NSString alloc] init];
 astring = @"This is a String!";
 NSLog(@"astring:%@",astring);
 [astring release];


3、在以上方法中,提升速度:initWithString方法

 NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
 NSLog(@"astring:%@",astring);
 [astring release];


4、用标准c创建字符串:initWithCString方法

char *Cstring = "This is a String!";
NSString *astring = [[NSString alloc] initWithCString:Cstring];
NSLog(@"astring:%@",astring);
[astring release];


5、创建格式化字符串:占位符(由一个%加一个字符组成)

    int i = 1;
    int j = 2;
    NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"%d.This is %i string!",i,j]];
    NSLog(@"astring:%@",astring);
    [astring release];


6、创建临时字符串

    NSString *astring;
    astring = [NSString stringWithCString:"This is a temporary string"];
    NSLog(@"astring:%@",astring); 


7、判断字符串为空

NSString *urlString = [urlInput stringValue];
if (!urlString) { 
NSLog( @”NO INPUT.” );

if ([urlString length] == 0 ) {
NSLog( @”NO INPUT.” );


9、是否以”test”开头;是否以”.move”结尾;

NSString *fileName = @”test.move”;

if ([fileName hasPrefix:@"test"]) {

NSLog(@”has Test String !”);

}else{

NSLog(@”don’t have Test”);

}

[fileName hasSuffix:@".move"]?NSLog(@”Yes it got a .Mov in its end”):NSLog(@”no it has no .mov string”);


10、比较两个字符串:

strcmp函数

    char string1[] = "string!";
    char string2[] = "string!";
    if(strcmp(string1, string2) = = 0)
    {
        NSLog(@"1");
    }

isEqualToString方法    
    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 isEqualToString:astring02];
    NSLog(@"result:%d",result);


compare方法(comparer返回的三种值)    
    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"This is a String!";    
    BOOL result = [astring01 compare:astring02] = = NSOrderedSame;    
    NSLog(@"result:%d",result);    
    NSOrderedSame 判断两者内容是否相同

    

    NSString *astring01 = @"This is a String!";
    NSString *astring02 = @"this is a String!";
    BOOL result = [astring01 compare:astring02] = = NSOrderedAscending;    
    NSLog(@"result:%d",result);

    NSOrderedAscending 判断两对象值的大小(按字母顺序进行比较,astring02大于astring01为真)


    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 compare:astring02] = = NSOrderedDescending;    
    NSLog(@"result:%d",result);     
    NSOrderedDescending 判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)


不考虑大 小写比较字符串1
    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 caseInsensitiveCompare:astring02] = = NSOrderedSame;    
    NSLog(@"result:%d",result);

NSOrderedDescending判断两对象值的大小(按字母顺序进行比较,astring02小于astring01为真)


不考虑大小写比较字符串2
    NSString *astring01 = @"this is a String!";
    NSString *astring02 = @"This is a String!";
    BOOL result = [astring01 compare:astring02
                            options:NSCaseInsensitiveSearch | NSNumericSearch] = = NSOrderedSame;    
    NSLog(@"result:%d",result);     
 
NSCaseInsensitiveSearch:不区分大小写比较 NSLiteralSearch:进行完全比较,区分大小写NSNumericSearch:比较字符串的字符个数,而不是字符值。


11、声明一个可变字符;长度是40个字符;

  NSMutableString *myMutableString;

  myMutableString = [NSMutableString stringWithCapacity:40];

  NSString *myName = @”Leo”;

  

  [myMutableString appendString:@"Hello ,there"];

  [myMutableString appendFormat:@" i am %@",myName];

  NSLog(@”this is NSMutableString: %@”,myMutableString);

  //this is NSMutableString: Hello ,there i am Leo;

  

12、修改可变字符;先声明一个可变字符 myFriend;长度30;

  NSMutableString *myGirlFriend;

  myGirlFriend = [NSMutableString stringWithCapacity:30];

  //然后给字符加入一些内容;

  [myGirlFriend appendString:@"Here are my GF:Carol Sophia Ashley Helen and Yoyo"];

  NSLog(@”%@”,myGirlFriend);

  //声名一个变动范围(NSRange);

  NSRange joneRange;

  joneRange = [myGirlFriend rangeOfString:@"Helen "];

  //下面:就是从myFriend字符中配对,如果有相等的内容就删除了;

  [myGirlFriend deleteCharactersInRange:joneRange];

  NSLog(@”%@”,myGirlFriend);


13、在一个字符串后面附加一个新的字符串

NSString *a = @"a";

NSString *b = [a stringByAppendingString:@"b"];//b变量的值为“ab”


14、字符串转换整数值

NSString *age = @"36";

if([age intValue]>35){

}

15、从文件读取字符串:initWithContentsOfFile方法
    NSString *path = @"astring.text";
    NSString *astring = [[NSString alloc] initWithContentsOfFile:path];
    NSLog(@"astring:%@",astring);
    [astring release];

 

16、写字符串到文件:writeToFile方法
    NSString *astring = [[NSString alloc] initWithString:@"This is a String!"];
    NSLog(@"astring:%@",astring);
    NSString *path = @"astring.text";    
    [astring writeToFile: path atomically: YES];
    [astring release];   


17改变字符串的大小写

    NSString *string1 = @"A String"; 
    NSString *string2 = @"String"; 
    NSLog(@"string1:%@",[string1 uppercaseString]);//大写
    NSLog(@"string2:%@",[string2 lowercaseString]);//小写
    NSLog(@"string2:%@",[string2 capitalizedString]);//首字母大小


18、在串中搜索子串

    NSString *string1 = @"This is a string";
    NSString *string2 = @"string";
    NSRange range = [string1 rangeOfString:string2];
    int location = range.location;
    int leight = range.length;
    NSString *astring = [[NSString alloc] initWithString:[NSString stringWithFormat:@"Location:%i,Leight:%i",location,leight]];
    NSLog(@"astring:%@",astring);
    [astring release];


19、抽取子串

    //-substringToIndex: 从字符串的开头一直截取到指定的位置,但不包括该位置的字符
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringToIndex:3];
    NSLog(@"string2:%@",string2);


    //-substringFromIndex: 以指定位置开始(包括指定位置的字符),并包括之后的全部字符
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringFromIndex:3];
    NSLog(@"string2:%@",string2);
 
    //-substringWithRange: //按照所给出的位置,长度,任意地从字符串中截取子串
    NSString *string1 = @"This is a string";
    NSString *string2 = [string1 substringWithRange:NSMakeRange(0, 4)];
    NSLog(@"string2:%@",string2);
 
20、扩展路径
    NSString *Path = @"~/NSData.txt";
    NSString *absolutePath = [Path stringByExpandingTildeInPath];
    NSLog(@"absolutePath:%@",absolutePath);
    NSLog(@"Path:%@",[absolutePath stringByAbbreviatingWithTildeInPath]);
 
21、文件扩展名
    NSString *Path = @"~/NSData.txt";
    NSLog(@"Extension:%@",[Path pathExtension]);
 
22、在已有字符串后面添加字符  
    NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
    //[String1 appendString:@", I will be adding some character"];
    [String1 appendFormat:[NSString stringWithFormat:@", I will be adding some character"]];
    NSLog(@"String1:%@",String1);

23、在已有字符串中按照所给出范围和长度删除字符
     NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
     [String1 deleteCharactersInRange:NSMakeRange(0, 5)];
     NSLog(@"String1:%@",String1);
 
24、在已有字符串后面在所指定的位置中插入给出的字符串
    //-insertString: atIndex:
    NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
    [String1 insertString:@"Hi! " atIndex:0];
    NSLog(@"String1:%@",String1);
 
25、将已有的空符串换成其它的字符串
    //-setString:
    NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
    [String1 setString:@"Hello Word!"];
    NSLog(@"String1:%@",String1);
 
26、按照所给出的范围,和字符串替换的原有的字符
    //-setString:
    NSMutableString *String1 = [[NSMutableString alloc] initWithString:@"This is a NSMutableString"];
    [String1 replaceCharactersInRange:NSMakeRange(0, 4) withString:@"That"];
    NSLog(@"String1:%@",String1);
 
27、判断字符串内是否还包含别的字符串(前缀,后缀)
    //01:检查字符串是否以另一个字符串开头- (BOOL) hasPrefix: (NSString *) aString;
    NSString *String1 = @"NSStringInformation.txt";
    [String1 hasPrefix:@"NSString"] = = 1 ?  NSLog(@"YES") : NSLog(@"NO");
    [String1 hasSuffix:@".txt"] = = 1 ?  NSLog(@"YES") : NSLog(@"NO");
    //02:查找字符串某处是否包含其它字符串 - (NSRange) rangeOfString: (NSString *) aString,这一点前面在串中搜索子串用到过;

 

分享到:
评论

相关推荐

    Objective-C中字符串操作总结

    Objective-C是一种用于开发iOS应用的主要编程语言,其字符串操作主要依赖于NSString类和NSMutableString类。NSString用于创建不可变字符串对象,而NSMutableString则用于创建可变字符串对象。以下是Objective-C中...

    判断字符串是否是空

    本篇将详细讲解如何判断一个`NSString`对象是否为空,以及相关的字符串处理技巧。 首先,我们要理解"空"字符串的概念。在`NSString`中,"空"可以指以下几种情况: 1. **空字符串(Empty String)**: 字符串长度为0...

    ios Objective-C分类 (category),字符串的拆分(componentsSeparatedByCharactersInSet)

    总之,Objective-C的分类为我们提供了灵活地扩展已有类功能的方式,而`componentsSeparatedByCharactersInSet:`是处理字符串的实用工具,两者结合可以满足各种字符串处理需求。在实际开发中,熟练掌握这些技巧能够使...

    iOS 字符串转中文

    在iOS开发中,字符串处理是一项基础且重要的任务,特别是在涉及到中文字符时,转换和操作变得更加复杂。"iOS 字符串转中文"这个话题主要聚焦于如何在Objective-C或Swift环境中将字符串转换为中文字符,这对于实现...

    史上最全的最好用的 IOS字符串处理控件

    这个"史上最全的最好用的IOS字符串处理控件"压缩包很可能包含一系列对NSString类的扩展和封装,旨在提供更强大、更便捷的字符串操作功能。在iOS应用开发中,字符串处理是非常常见且重要的任务,包括格式化、搜索、...

    Object-C字符串

    3. **从C字符串创建Objective-C字符串**:有时候需要将C语言中的字符串转换为Objective-C中的`NSString`对象。 ```objc NSString *fromCString = [NSString stringWithCString:"A C string" encoding:NSUTF8String...

    oc字符串操作.pdf

    在Objective-C(OC)中,字符串处理是编程中常见的任务。Objective-C提供了两种主要的字符串类型:`NSString` 和 `NSMutableString`。`NSString` 是不可变的,一旦创建就无法修改,而 `NSMutableString` 支持在字符...

    判断字符串是否为空

    在iOS和macOS开发中,我们经常需要处理字符串,并且在很多情况下,我们需要判断一个字符串是否为空。在Objective-C编程语言中,`NSString`是处理文本数据的主要类,因此了解如何判断`NSString`对象是否为空至关重要...

    ios字符串处理

    在iOS开发中,字符串处理是日常编程中必不可少的一部分。Objective-C中的NSString类提供了丰富的功能来创建、操作和管理字符串。以下是对标题和描述中提到的知识点的详细解释: 1. **创建常量字符串**: 使用`@""`...

    ios demo,JSONString to NSDictionary,字符串JSON数据转换到字典数据

    本示例“ios demo, JSONString to NSDictionary”聚焦于将JSON字符串转化为Objective-C中的NSDictionary对象,这是iOS开发中的常见操作。接下来,我们将深入探讨这个过程以及相关知识点。 首先,理解JSON的基本结构...

    1.7 字符串处理(PPT).zip

    在IT行业中,字符串处理是一项基础且重要的技能,尤其在编程语言中,字符串的处理占据了大量工作。本主题“1.7 字符串处理(PPT)”主要聚焦于如何在不同的编程语境下有效地管理和操作字符串。PPT文件可能包含了对字符...

    Objective-C中字符串的拼接方法小结

    在Objective-C中,字符串拼接是一项常见的操作,尤其是在构建动态的文本内容时。Objective-C提供了多种方式来实现字符串的连接,下面将详细讲解这三种主要方法,并探讨在宏中拼接字符串的技巧。 首先,Objective-C...

    iOS 获取字符串首字母

    在Objective-C中,可以利用`NSString`类提供的方法来处理字符串。要获取字符串的首字母,我们可以先将字符串转换为小写,然后提取第一个字符,最后将其转换为大写,因为通常首字母都是大写的。以下是一个简单的示例...

    swift-OC的字符串匹配库.包含KMP匹配AC多模字符串匹配.

    在IT行业中,字符串匹配是计算机科学的一个重要领域,特别是在编程语言如Swift和Objective-C(OC)中。这里我们将深入探讨标题和描述中提到的“KMP匹配”和“AC多模字符串匹配”,以及它们在Swift开发中的应用。 ...

    C语言主要知识点巩固(学习Objective-C 的前提)

    常量则是不可改变的值,分为数值常量、字符串常量和符号常量。 运算符和表达式是C语言中的核心部分。包括算术运算符(+,-,*,/,%)、关系运算符(==, !=, <, >, , >=)、逻辑运算符(&&, ||, !)以及赋值运算符(=, +=, -=,...

    webview渲染HT ML标签字符串

    WebView会执行HTML中的JavaScript代码,因此可以通过JavaScript与原生应用进行交互,例如通过`window.webkit.messageHandlers`在JavaScript和Objective-C/Swift之间传递消息。 5. **安全与性能**:虽然加载HTML字符...

    Objective-C处理空字符串和页面传值及自定义拷贝

    以上就是Objective-C处理空字符串、页面传值和自定义拷贝的详细方法。在实际开发中,理解并掌握这些技巧能帮助你编写更健壮、更可靠的iOS应用程序。注意在处理数据时要充分考虑到各种边界条件,以防止出现意外错误,...

    iOS时间戳字符串NSDate转化demo.zip

    在iOS开发中,时间戳与NSDate对象之间的转换是常见的任务,因为时间戳是无格式的数字,便于存储和计算,而NSDate是Objective-C中的日期类,用于表示特定时刻。本项目"iOS时间戳字符串NSDate转化demo"提供了一个示例...

    objective-c十进制转换成16进制

    这种方法利用了C语言的格式化字符串功能。例如,要将整数`intValue`转换为十六进制字符串,你可以这样做: ```objc int intValue = 1234; NSString *hexString = [NSString stringWithFormat:@"%X", intValue];...

    oc字符串方法代码展示

    这些只是OC字符串处理的一部分方法,实际开发中还有很多其他功能,如编码解码、正则表达式匹配等。通过理解和熟练运用这些方法,你可以更加自如地处理字符串相关的任务。在实践中不断练习,你将成为字符串操作的专家...

Global site tag (gtag.js) - Google Analytics