objective-c – 使用NSScanner从最后一个字符实例扫描到字符串结尾

objective-c – 使用NSScanner从最后一个字符实例扫描到字符串结尾,第1张

概述给定一个字符,如:“new / path – path / path / 03 – filename.ext”,如何使用NSScanner(或任何其他方法)将子字符串从最后一个“/”返回到字符串的末尾,即,“03 – filename.ext”?我一直试图开始的代码是: while ([fileScanner isAtEnd] == NO){ slashPresent = [fileSc 给定一个字符串,如:“new / path – path / path / 03 – filename.ext”,如何使用NSScanner(或任何其他方法)将子字符串从最后一个“/”返回到字符串的末尾,即,“03 – filename.ext”?我一直试图开始的代码是:

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从最后一个字符实例扫描到字符串结尾所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1007468.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存