Objective-c 截取子字符串

时间:2023-12-25 16:42:55

NSString类中提供了这样三个方法用于获取子字符串:

它们该怎么使用呢?见下面代码即可知道。

NSString *str = @"12345";

// NSString *subString0 = [str substringFromIndex:-1];   //会放生越界错误

NSString *subString1 = [str substringFromIndex:0];       //@"12345"

NSString *subString2 = [str substringFromIndex:1];       //@"2345"

NSString *subString3 = [str substringFromIndex:4];       //@"5"

NSString *subString4 = [str substringFromIndex:5];       //@""

// NSString *subString5 = [str substringFromIndex:6];   //会放生越界错误

// NSString *subString10 = [str substringToIndex:-1];    //会放生越界错误

NSString *subString11 = [str substringToIndex:0];         //@"“

NSString *subString12 = [str substringToIndex:1];         //@"1”

NSString *subString13 = [str substringToIndex:4];         //@"1234“

NSString *subString14 = [str substringToIndex:5];         //@"12345”

// NSString *subString15 = [str substringToIndex:6];     //会放生越界错误

NSRange range1 = NSMakeRange(-1, 5);

NSRange range2 = NSMakeRange(0, 6);

NSRange range3 = NSMakeRange(0, 5);

NSRange range4 = NSMakeRange(1, 4);

NSRange range5 = NSMakeRange(0, 0);

NSRange range6 = NSMakeRange(4, 1);

//NSString *subString31 = [str substringWithRange:range1]; //会放生越界错误

//NSString *subString32 = [str substringWithRange:range2]; //会放生越界错误

NSString *subString33 = [str substringWithRange:range3];   //@"12345“

NSString *subString34 = [str substringWithRange:range4];   //@"2345”

NSString *subString35 = [str substringWithRange:range5];   //@"”

NSString *subString36 = [str substringWithRange:range6];   //@"5”