一、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-hk/n/136537.html