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);