一、substring方法的使用
1、substring(截取字元串)方法可以通過起始位置和長度來截取字元串。
NSString *str = @"iOS字元串截取";
NSString *subStr = [str substringFromIndex:3];//從索引3開始截取到字元串末尾
NSString *subStr1 = [str substringToIndex:3];//從字元串開頭截取到索引3
NSString *subStr2 = [str substringWithRange:NSMakeRange(3, 4)];//從索引3開始截取長度為4的字元串
NSLog(@"subStr:%@",subStr);
NSLog(@"subStr:%@",subStr1);
NSLog(@"subStr:%@",subStr2);
2、需要注意的是,如果起始位置超出字元串範圍,則會發生異常。
//起始位置超出字元串範圍
NSString *subStr3 = [str substringFromIndex:20];
二、NSString的追加方法
1、在原字元串後面追加字元串,可使用stringByAppendingString方法。
NSString *str = @"iOS字元串截取";
NSString *appendStr = @"的幾種方法";
NSString *newStr = [str stringByAppendingString:appendStr];
NSLog(@"newStr:%@",newStr);
2、如果需要在原字元串的某個位置插入字元串,可使用NSString插入方法。
NSMutableString *mutableStr = [NSMutableString stringWithString:@"iOS字元串截取"];
[mutableStr insertString:@"的幾種方法" atIndex:3];
NSLog(@"newMutableStr:%@",mutableStr);
3、需要注意的是,如果插入位置超出字元串範圍,則會發生異常。
//插入位置超出字元串範圍
[mutableStr insertString:@"的幾種方法" atIndex:20];
三、NSCharacterSet的使用
1、如果需要去掉字元串中的某些字元,可使用NSCharacterSet。
NSString *str = @"iOS##字%%符截\ta\b取";
NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"\t\n\r #@$%^&()_+={}[]|\:;\"',.?/~`"];
NSString *newStr = [[str componentsSeparatedByCharactersInSet:set] componentsJoinedByString:@""];
NSLog(@"newStr:%@",newStr);
2、其中,NSCharacterSet的characterSetWithCharactersInString方法,可以將字元串轉為字符集。componentsSeparatedByCharactersInSet方法可以將字元串按照字符集分割成數組,而componentsJoinedByString方法可以將數組拼接成字元串。
四、正則表達式的使用
1、如果需要根據特定規則截取字元串,可使用正則表達式。
NSString *str = @"i1o2S3字元串截取";
NSString *pattern = @"\\d";//表示匹配數字
NSRegularExpression *regex = [[NSRegularExpression alloc] initWithPattern:pattern options:0 error:nil];
NSArray *resultArray = [regex matchesInString:str options:0 range:NSMakeRange(0, str.length)];
for(NSTextCheckingResult *result in resultArray){
NSString *tempStr = [str substringWithRange:result.range];
NSLog(@"tempStr:%@",tempStr);
}
2、其中,NSRegularExpression的initWithPattern方法可以將字元串轉為正則表達式。matchesInString方法可以根據正則表達式匹配字元串,返回NSTextCheckingResult的數組。需要注意的是,一定要在處理完NSRegularExpression後,判斷是否為nil。
原創文章,作者:CAAJ,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/136537.html