while ([fileScanner isAtEnd] == NO){ slashPresent = [fileScanner scanUpToString:@"/" intoString:NulL]; if (slashPresent == YES) { [fileScanner scanString:@"/" intoString:NulL]; lastposition = [fileScanner scanLocation]; } NSLog(@"fileScanner position: %d",[fileScanner scanLocation]); NSLog(@"lastposition: %d",lastposition); }
…这会在扫描到字符串末尾后导致段错误!我不确定为什么这不起作用.想法?提前致谢!
解决方法Nsstring *thePath = @"new/path - path/path/03 - filename.ext";Nsstring *lastPathComponent = [thePath lastPathComponent]; // "03 - filename.ext"
编辑以回复您的后续行动.您不需要NSScanner:
Nsstring *thePath = @"new/path - path/path/03 - filename.ext";NSRange theRange = [thePath rangeOfString:@"/" options:NSBackwardsSearch];Nsstring *lastPathComponent = nil;if (theRange.location != NSNotFound) lastPathComponent = [thePath substringFromIndex:theRange.location];总结
以上是内存溢出为你收集整理的objective-c – 使用NSScanner从最后一个字符实例扫描到字符串结尾全部内容,希望文章能够帮你解决objective-c – 使用NSScanner从最后一个字符实例扫描到字符串结尾所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)