IOS NSString字符串操作

原创 2015年11月17日 18:41:00

0、截取匹配到的某段字符:

            NSString *result=@<span style="font-family: Arial, Helvetica, sans-serif;">"partner=\"2088101568353491\"&seller_id=\"2088101568353491\"&out_trade_no=\"YR2VGG3G1I31XDZ\"&subject=\"1\"&body=\"</span><span class="s1" style="font-family: Arial, Helvetica, sans-serif;">我是测试数据</span><span style="font-family: Arial, Helvetica, sans-serif;">\"&total_fee=\"0.02\"¬ify_url=\"http://www.xxx.com\"&service=\"mobile.securitypay.pay\"&payment_type=\"1\"&_input_charset=\"utf-8\"&it_b_pay=\"30m\"&show_url=\"m.alipay.com\"&sign=\"GsSZgPloF1vn52XAItRAldwQAbzIgkDyByCxMfTZG%2FMapRoyrNIJo4U1LUGjHp6gdBZ7U8jA1kljLPqkeGv8MZigd3kH25V0UK3Jc3C94Ngxm5S%2Fz5QsNr6wnqNY9sx%2Bw6DqNdEQnnks7PKvvU0zgsynip50lAhJmflmfHvp%2Bgk%3D\"&sign_type=\"RSA\"" </span>
";
            NSRange range = [result rangeOfString:@"out_trade_no=\""];//匹配得到的下标
            NSRange range2 = [result rangeOfString:@"\"&subject"];
            range.location=range.location+range.length;
            range.length=range2.location-range.location;
            
            NSString *out_trade_no= [result substringWithRange:range];//截取范围类的字符串
            out_trade_no = [out_trade_no stringByReplacingOccurrencesOfString:@"\"" withString:@""];
            NSLog(@"截取的值为:%@",out_trade_no);
1、截取字符串
NSString*string =@"sdfsfsfsAdfsdf";
string = [string substringToIndex:7];//截取下标7之后的字符串
NSLog(@"截取的值为:%@",string);
[string substringFromIndex:2];//截取下标2之前的字符串
NSLog(@"截取的值为:%@",string);

2、匹配字符串
NSString*string =@"sdfsfsfsAdfsdf";
NSRange range = [stringrangeOfString:@"f"];//匹配得到的下标
NSLog(@"rang:%@",NSStringFromRange(range));
string = [string substringWithRange:range];//截取范围类的字符串
NSLog(@"截取的值为:%@",string);
对应Java中的  substring  函数。


3、分隔字符串

NSString*string =@"sdfsfsfsAdfsdf";

NSArray *array = [string componentsSeparatedByString:@"A"]; //从字符A中分隔成2个元素的数组
NSLog(@"array:%@",array); //结果是adfsfsfs和dfsdf

和  Java 中的  split 函数一样

String sourceStr = "1,2,3,4,5";
        String[] sourceStrArray = sourceStr.split(",");

4、判断字符串是否为空或者相同
1)判断是否是為空
   Str == nil || str.length == 0;
2)判断是否已指定的內容開頭
BOOL isPerfix = [str hasPrefix:@”xww”];
3)判断是否已指定的內容結尾
BOOL isSuffix = [str hasSuffix:@”xww”];
NSLog(@“%@”,is?@“YES”:@“NO”);

5、判断两个字符串是否相等
NSString *str4 = @“abc”;
NSString *str5 = @“abc”;
NSString *str6 = [NSString stringWithFormat:@“%@”,@“abc”];
1> 用if語句,==來判断,但是==的意思是內存地址相同,則判断就相同,str4和str5內存地址相同(運行時回去換存池中找,有相同的就直接拿過來,沒有就創建),和str6的內存地址不相同。
2> BOOL isEqual = [str5 isEauqlToString:str6];//先判断字符串的地址是否相同,如果相同,再判断字符串是否相等。

6、基本数据类型和字符串相互转化
基本数据类型(int、float、double、char)
1)基本类型转换成字符串
int a = 10;
[NSString stringWithForamt:@“%d”,a];
float f = 2.4 -> @“%.1f”
double d = 68.9999 -> @“%.4f”,d
char c = ‘c’ -> @“%c”,c

2)字符串转换成基本数据类型//floatValue、doubleValue、intValue
NSString *str = @“32432”;
int i = [str intValue];
//@“i234324”這个转换要注意,以上转换不了
3)將字符串中的字母转换成大寫
NSString *str = @“china”;
NSString *str1 = [str1 uppercaseString];
4)將字符串中的字母转换成小寫
NSString *str = @“china”;
NSString *str1 = [str1 lowercaseString];
5)將字符串的首字母转成大写
NSString *str = @“CHINA”;
NSString *str = [str capitalizedString];
7、多个数据拼接成一个字符串
        int year = 1988;
        int month = 4;
        int day = 15;
        NSString * date = [NSString stringWithFormat:@"%d年%d月%d日",year,month,day];
        NSLog(@"date %@",date);
        NSString * address = @"昌平区,金燕龙";
        NSString * dateAndAddrss = [NSString stringWithFormat:@"%@地址:%@",date,address];
        NSLog(@"dateAndAddress %@",dateAndAddrss);

8、使用新的字符,替换原有的字符
        NSString * str5 = @"www.itcast.cn";
        NSString * str6 = [str5 stringByReplacingOccurrencesOfString:@"w" withString:@"a"];
        NSLog(@"str6 %@",str6);
        //5.在字符串中删除特定的某些字符 胡汉三 hhs
        NSString * str7 = @"www---.itcatst.--cn";
        NSString * str8 = [str7 stringByReplacingOccurrencesOfString:@"-" withString:@""];
        NSLog(@"str8 %@",str8);
9、去掉字符串中的空格
        NSString * str9 = @"www  .itcat  .cn";
        NSString * str10 = [str9 stringByReplacingOccurrencesOfString:@" " withString:@""];
        NSLog(@"str10 %@",str10);


版权声明:本文为博主原创文章,未经博主允许不得转载。

iOS字符串的各种用法(字符串插入、字符串覆盖、字符串截取、分割字符串)

NSString* str=@"hello";//存在代码区,不可变         NSLog(@"%@",str);                  //1.【字符串插入】        ...
  • sevenquan
  • sevenquan
  • 2015年12月30日 12:39
  • 13088

iOS学习第八篇 ——NSString的使用

1. NSString的四中创建方法;2. NSString写入文件;3. NSString 大小写转换;4. NSString 字符比较;5. NSString 搜索字符串 rangOfString...
  • bark_ice
  • bark_ice
  • 2015年08月27日 10:40
  • 925

IOS NSString类字符串拼接与截取注意点

不管是使用什么语言,做什么样的系统,dou's
  • zhbitxhd
  • zhbitxhd
  • 2014年04月17日 09:45
  • 52133

iOS NSString的内存情况

在iOS 的内存管理里面,NSString算是一个比较特殊的情况,它是一个OC对象,可是它的内存管理跟它指向的内容有关。 主要分两种: (1)NSString 指向一个常量字符串,即在编译时已经确定的...
  • QQQ274628593
  • QQQ274628593
  • 2016年11月03日 23:09
  • 833

NSString(字符串)详细操作

字符串是程序设计最常用的数据类型之一了。在Mac/iPhone编程中,苹果为我们提供了一个不同的字符串类型NSString。有别与普通的String为数据类型,NSString其实是一个对象类型。NS...
  • heng615975867
  • heng615975867
  • 2015年01月12日 11:45
  • 4943

iOS中NSDate和NSString相互转换

今天给大家分享一些关于NSDate和NSString相互转换。 日期转成字符串。这个虽然简单,但是我相信很多朋友初次遇到肯定束手无策。脑子里蹦出四个字:这怎么转?直接上代码: //获取系统当前时...
  • whuizhou
  • whuizhou
  • 2015年07月04日 09:25
  • 10438

iOS中NSString转换成HEX(十六进制)-NSData转换成int

NSString *str = @"0xff055008"; //先以16为参数告诉strtoul字符串参数表示16进制数字,然后使用0x%X转为数字类型 unsigned long red = st...
  • PoLuoGuiZu
  • PoLuoGuiZu
  • 2014年02月26日 08:54
  • 17361

iOS字符串常用处理方法

iOS字符串常用处理方法 1.根据起始位置和长度进行字符串截取 - substringWithRange 方法说明: - (NSString *)substringWithRange:(NS...
  • Lea__DongYang
  • Lea__DongYang
  • 2016年12月28日 20:02
  • 174

IOS NSString字符串操作

0.截取匹配到的某段字符: NSString *result=@"partner=\"2088101568353491\"&seller_id=\"2088101568353...
  • heng615975867
  • heng615975867
  • 2015年02月09日 16:04
  • 865

iOS关于NSString字符串操作

字符串
  • MinggeQingchun
  • MinggeQingchun
  • 2016年05月27日 17:18
  • 529
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:IOS NSString字符串操作
举报原因:
原因补充:

(最多只允许输入30个字)