oc 字符串操作

/--------操作字符串--NSString(静态字符串)---------------------
    NSString *Beijing= @"北京欢迎您";        //字符串的声明
    NSString *[email protected]"北京欢迎您a"; //[NSString stringWithFormat:@"I am ‘%@‘",Beijing];     //字符串格式化
    NSString *zhui = [Beijing stringByAppendingString:@"哈哈哈"];        //字符串追加
    bool b=[Beijing isEqualToString:log];                               //字符串比较
    NSString *hh = @"http://www.sina.com.cn";
    if([hh hasPrefix:@"http"]){                                          //查找以http开头的字符串
        NSLog(@"含有http");
    }else{
        NSLog(@"没有http");
    }
    NSString *ss = @"123";
    int a = [ss intValue]+13;                                   //字符串转int型
    double dd = [ss doubleValue]+33.3;                          //字符串转double型
    NSLog(@"%g",dd);
//字符串转数组 
    NSString *zifuchuan [email protected]"one,two,three,four";
    NSLog(@"string:%@",zifuchuan);
    NSArray *array = [zifuchuan componentsSeparatedByString:@","];
//    NSLog(@"array:%@",array);                             //输出整个数组中所有元素 
    NSString *value = [array objectAtIndex:0];          //取出第0个元素
    NSLog(@"value:%@",value);
//数组转字符串
    NSString * zifuchuan2 = [array componentsJoinedByString:@","];
    NSLog(@"zifuchuan2:%@",zifuchuan2);
       
//-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);

//--------操作动态字符串--NSMutableString----------------------------------------------------
    NSMutableString *mstr = [[NSMutableString alloc] init];
    NSString *str1 = @"This is a example.";
    //创建可变字符串
    mstr = [NSMutableString stringWithString:str1];
    //插入字符
    [mstr insertString:@"very easy " atIndex:10];
    //删除一些字符
    [mstr deleteCharactersInRange:NSMakeRange(10,5)];
    //查找并删除
    NSRange substr = [mstr rangeOfString:@"example"];             //字符串查找,可以判断字符串中是否有
    if (substr.location != NSNotFound) {
        [mstr deleteCharactersInRange:substr];
    }
    //重新设置字符串
    [mstr setString:@"This is string AAA"];
    //替换字符串
    [mstr replaceCharactersInRange:NSMakeRange(15, 2) withString:@"BBB"];   //从第15个字符串处替换掉后2个字符串
   
    //查找第一个并替换
    NSString *search = @"This is";
    NSString *replace = @"An example of";
    substr = [mstr rangeOfString:search];
    if (substr.location != NSNotFound) {
        [mstr replaceCharactersInRange:substr withString:replace];      //把第1个遇到的substr替换为replace
        NSLog(@"%@",mstr);
    }
   
    //查找全部匹配的,并替换
    search = @"a";
    replace = @"X";
    substr = [mstr rangeOfString:search];
    while (substr.location != NSNotFound) {
        [mstr replaceCharactersInRange:substr withString:replace];
        substr = [mstr rangeOfString:search];
    }

NSLog(@"%@",mstr);

常见的NSString方法

+(id)stringWithContentsOfFile:path encoding:enc error:err

创建一个新字符串并将其设置为path指定的文件的内容,使用字符编码enc,如果非零,则返回err中的错误。

+(id)stringWithContentsOfURL:url encoding:enc error:err

床架一个新字符串,并将其设置为url的内容,使用字符编码enc,如果非零,则返回err中的错误。

+(id)string   创建一个新的空字符串。

+(id)stringWithString:nsstring 创建一个新字符串,并将其设置为nsstring

-(id)initWithString:nsstring   将新分配的字符串设置为nsstring

-(id)initWithContentsOfFile:path encoding:enc error:err

将字符串设置为path指定的文件的内容

-(id) initWithContentsOfURL:url encoding;enc error:err

将字符串设置为url(NSURL*)url的内容,使用字符编码enc,如果非零,则返回err中的错误。

-(UNSIgned int)lengtn  返回字符串中字符数目

-(unichar) characterAtIndex:i  返回索引i的Unicode字符

-(NSString*)substringFromIndex:i   返回从i开始直到结尾的字符串

-(NSString*)substringToIndex:i 返回从该字符串开始位置到索引i的子字符串

-(NSComparator *)caseInsensitiveCompare:nsstring 比较两个字符串,忽略大小写

-(NSComparator *)compare:nsstring  比较两个字符串

-(BOOL)hasPrefix:nsstring 测试字符串是否以nsstring开始

-(BOOL)isEqualToString:nsstring  测试两个字符串是否相等。

-(NSString*)capitalizedString 返回每个单词首字母大写的字符串(每个单词的其余字母转换为小写)

-(NSString *)lowercaseString 返回转换为小写的字符串

-(NSString *)uppercaseString 返回抓换为大写的字符串

-(const char *)UTF8String 返回转换为UTF8字符串的字符串

-(double) doubleValue 返回转换为NSInteger整数的字符串

-(int)intValue 返回转换为整数的字符串

NSMutableString字符方法

+(id)stringWithCapacity:size 创建一个字符串,初始包含size的字符

-(id)initWithCapacity:size 使用初始容量为size的字符来初始化字符串

-(void)setString :nsstring 将字符串设置为nsstring

-(void) appendString:nsstring 在接受者的末尾附加nsstring

-(void)deleteCharactersInrange:range 删除指定range中的字符

-(void)insertString:nsstring atIndex:i以索引i为起始位置插入nsstring

-(void) replaceCharactersInrange: range withString:nsstring 使用nsstring替换range指定的字符

-(void)replaceOccurrencesOf  String:nsstring withString:nsstring2 options:opts range:range

根据选项opts,使用指定range中的nsstring2替换所有的nsstring。选项可以包括NSBackwardsSearch(从范围的结尾开始搜索),NSAn冲热点Search(nsstring必须匹配范围的开始),NSLiteralSearch

时间: 2024-10-07 22:56:15

oc 字符串操作的相关文章

OC 字符串操作整理

1 // 2 // main.m 3 // StringMK 4 // 5 // Created by LXC on 16/1/7. 6 // Copyright © 2016年 LXC. All rights reserved. 7 // 2016年01月07日23:51:29 8 // 9 10 #import <Foundation/Foundation.h> 11 12 int main(int argc, const char * argv[]) { 13 @autoreleasep

oc字符串操作

#import <Foundation/Foundation.h> @interface LYBNsstring : NSObject //1. +(NSString *) reveseWordsOfString:(NSString *)string; //2. +(NSArray *)symmetryArray:(NSArray *)arr; //3. +(NSInteger)countWord:(NSString *)string; //4. +(NSInteger)countOfStri

OC字符串NSString常用操作系列01

OC字符串常用操作 NSString基本操作 1 /** 2 * NSString字符串常用操作 3 * initWithFormat:构造方法 4 * initWithUTF8String:将C字符串转换成OC字符串 5 */ 6 #import <Foundation/Foundation.h> 7 8 int main(int argc, const char * argv[]) { 9 @autoreleasepool { 10 11 char *str1="Hello st

OC文件操作(1)

1.文件的浅度遍历与深度遍历: //NSFileManager * fm = [[NSFileManager alloc]init];//创建文件管理器 //第一步创建一个文件管理器 NSError * error= nil; //显示路径下的内容,作用类似于ls -a指令 //返回值是把目录下的内容放到NSArray中 //浅度遍历 NSFileManager * fm = [NSFileManager defaultManager]; NSArray * array = [fm conten

条件、循环、函数定义、字符串操作练习

注意标准库的两种导入与使用方式,建议大家采用<库名>.<函数名>的方式. 对前面的代码进行优化,用for,while,if,def实现: 用循环画五角星 1 import turtle 2 3 turtle.fillcolor("red") 4 turtle.begin_fill() 5 for i in range(5): 6 turtle.forward(100) 7 turtle.right(144) 8 turtle.end_fill() 用循环画同心圆

PHP字符串操作大集合

字符串的处理非常重要.文本字符串中的空格或者其他没有意义的符号.例如,在一个电子商务应用中,当用户填写订单的内容时(如联系地址),可能输入一些空格.句号等PHP4及以上版本提供了4个去除字符串str首尾处空格或其他特殊符号.     string ltrim(string str [, string charlist]):去除字符串str尾的空格或其他特殊符号.     string chop(string str [, string charlist]):功能同rtrim(). 以上函数的第1

C语言难点1之输入输出,链接,字符串操作

C语言难点1之输入输出,链接,字符串操作 最近发现写了一段时间的C之后,还是有一些点并没有很好的get,我就想总结出来,写个系列博客,自己也好好的整理一下思路.这个系列主要出自三本书:<C专家编程>,<C陷阱和缺陷>,<C和指针>.有兴趣的同学可以好好看一下这几本书,对于打好C语言的基础是个非常不错的几本书. 1 一些输入输出的格式 对应的printf():和scanf()函数:在这里我给出常用的scanf格式码,和printf()函数也是一样的. 2 getchar(

C语言字符串操作总结大全(超详细)

1)字符串操作 strcpy(p, p1) 复制字符串 strncpy(p, p1, n) 复制指定长度字符串 strcat(p, p1) 附加字符串 strncat(p, p1, n) 附加指定长度字符串 strlen(p) 取字符串长度 strcmp(p, p1) 比较字符串 strcasecmp忽略大小写比较字符串strncmp(p, p1, n) 比较指定长度字符串 strchr(p, c) 在字符串中查找指定字符 strrchr(p, c) 在字符串中反向查找 strstr(p, p1

linux shell 字符串操作(长度,查找,替换)详解

原文地址:http://www.cnblogs.com/chengmo/archive/2010/10/02/1841355.html 在做shell批处理程序时候,经常会涉及到字符串相关操作.有很多命令语句,如:awk,sed都可以做字符串各种操作. 其实shell内置一系列操作符号,可以达到类似效果,大家知道,使用内部操作符会省略启动外部程序等时间,因此速度会非常的快. 一.判断读取字符串值 表达式 含义 ${var} 变量var的值, 与$var相同     ${var-DEFAULT}