objective-c - 我在 Objective c 中的 String 中的 subString 问题

标签 objective-c algorithm

我需要从字符串中获取所有可能的子字符串。我已经完成了以下相同的解决方案但是当循环第二次运行时我遇到了崩溃(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/

相关文章:

algorithm - 长度为 X 的最频繁子串

iphone - 我如何刷新/重新加载以更新对我的谓词的更改并因此获取请求?

ios - 使用 NSSecureCoding 编码/解码 NSArray 时出现意外类错误

algorithm - 非常窄的 FFT 窗函数?

c# - 我的算法中查找包含精确字符集的最小子字符串的大小的缺陷在哪里?

python - 加权格子路径

java - 如何优化此算法,该算法着重于寻找最短的平衡子串?

iphone - UIView 基于 block 的动画的重复计数

ios - 如何在 objective-c 中手动检查 http 请求和响应?

iphone - UIView 中图像之间的精确间距,就像 UITabViewController 中一样