我需要从字符串中获取所有可能的子字符串。我已经完成了以下相同的解决方案但是当循环第二次运行时我遇到了崩溃(i = 1 和 j = 4)。有人可以帮我解决下面代码的问题吗。
NSString *str = @"test";
NSUInteger length = str.length;
for (int i = 0 ;i<length;i++){
for (int j = i+1; j <= length; j++){
NSString *myStr = [str substringWithRange:NSMakeRange(i, j)];
NSLog(@"%@",myStr);
}
}
最佳答案
在您的代码中,“i”表示字符串的起始位置,“j”表示您想要的长度。如果 i+j 超出了字符串的长度,程序就会崩溃。当你遇到这样的问题时,你应该仔细阅读该方法的文档。我修改了你的代码如下:
NSString *str = @"test";
NSUInteger length = str.length;
for (int i = 0 ;i < length;i++){
for (NSUInteger j = length - i; j > 0; j--){
NSString *myStr = [str substringWithRange:NSMakeRange(i, j)];
NSLog(@"%@",myStr);
}
}
关于objective-c - 我在 Objective c 中的 String 中的 subString 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48728702/