pragma mark 字符串截取
pragma mark 概念
pragma mark 代碼
#import <Foundation/Foundation.h>
#pragma mark 類
#pragma mark main函數(shù)
int main(int argc, const char * argv[])
{
#pragma mark 字符串的截取
#warning 字符串截取 (substringWithRange : 返回一個(gè)新的字符串)
NSString *str = @"<head>lyh_hehe66</head>";
// NSRange : 位置 / 長度
// 從第6位開始, 獲取 3位的長度
// 創(chuàng)建結(jié)構(gòu)體的兩種方式
// 1.
// NSRange range = {6,3};
// 2.
/*
NSRange range;
range.location = 6;
range.length = 3;
*/
#warning 開發(fā)常用
// 只要是OC提供的結(jié)構(gòu)體, 一般都可以使用NSMake XXX創(chuàng)建
NSRange range = NSMakeRange(6, 3);
NSString *newStr = [str substringWithRange:range];
NSLog(@"str = %@",str);
NSLog(@"newStr = %@",newStr);
#warning 動(dòng)態(tài)獲取長度 獲取開始位置 和 結(jié)尾的位置 >xxxxx<
// 1.動(dòng)態(tài)獲取 截取的起始位置
NSUInteger location = [str rangeOfString:@">"].location + 1; // 加1 是獲取> 后面的 字母的位置
// 2.動(dòng)態(tài)獲取 截取的長度
// 注意: rangeOfString 是 從左至右的開始 查找的 如果需要是從后往前找 需要用多一個(gè)參數(shù)
// 從后往前找
// NSUInteger length = [str rangeOfString:@"<" options:NSBackwardsSearch].location - 1;
//
NSUInteger length = [str rangeOfString:@"</"].location - location;
NSLog(@"location = %lu,length = %lu",location,length);
#warning 列子
NSString *t = @"abcda";
/**
{
NSCaseInsensitiveSearch = 1,
NSLiteralSearch = 2,
NSBackwardsSearch = 4, // 從后面往前
NSAnchoredSearch = 8,
NSNumericSearch = 64,
NSDiacriticInsensitiveSearch
NSWidthInsensitiveSearch
NSForcedOrderingSearch
NSRegularExpressionSearch
};
*/
/*
NSRange range22 = [t rangeOfString:@"a" options:NSBackwardsSearch];
NSLog(@"%lu",range22.location);
#warning 字符串截取2 (substringFromIndex 從什么地方開始,一致截取到最后)
str = @"<head>lyh</head>";
NSString *newStr1 = [str substringFromIndex:6];
NSLog(@"newStr1 = %@",newStr1);
#warning 字符串截取3 (substringToIndex 從開頭開始截取, 一直截取到什么位置)
NSString *newStr2 = [str substringToIndex:6];
NSLog(@"newStr2 = %@",newStr2);
*/
// 例子2
/*
<head>lyh</head> -- > lyh</head> --> lyh
<head>lyh</head> -- > <head>lyh --> lyh
*/
// 獲取開始位置
NSString *str66 = @"<head>lyh</head>";
NSUInteger location22 = [str66 rangeOfString:@">"].location + 1;
NSString *newStr22 = [str66 substringFromIndex:location22];
NSLog(@"newStr22 = %@",newStr22);
location22 = [newStr22 rangeOfString:@"</"].location;
// 改變了 指針的指向,并不是修改了原來的字符串
newStr = [newStr substringToIndex:location22];
NSLog(@"newStr = %@",newStr);
return 0;
}
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者