objective-c – 如何使用NSScanner?

objective-c – 如何使用NSScanner?,第1张

概述我刚刚阅读了苹果的 docu的NSScanner。 我试图获取该字符串的整数:@“用户登录(3次尝试)”。 我找不到任何例子,如何扫描括号内。有任何想法吗? 以下是代码: NSString *logString = @"user logged (3 attempts)";NSScanner *aScanner = [NSScanner scannerWithString:logString]; 我刚刚阅读了苹果的 @L_403_0@的NSScanner。
我试图获取该字符串的整数:@“用户登录(3次尝试)”。

我找不到任何例子,如何扫描括号内。有任何想法吗?

以下是代码:

Nsstring *logString = @"user logged (3 attempts)";NSScanner *aScanner = [NSScanner scannerWithString:logString];[aScanner scanInteger:anInteger];NSLog(@"Attempts: %i",anInteger);
解决方法 “这是我从字符串中获取某些值的方法

首先我定义了这个方法

- (Nsstring *)getDataBetweenFromString:(Nsstring *)data leftString:(Nsstring *)leftData rightString:(Nsstring *)rightData leftOffset:(NSInteger)leftPos; {             NSInteger left,right;             Nsstring *foundData;    NSScanner *scanner=[NSScanner scannerWithString:data];                      [scanner scanUpToString:leftData intoString: nil];             left = [scanner scanLocation];             [scanner setScanLocation:left + leftPos];             [scanner scanUpToString:rightData intoString: nil];             right = [scanner scanLocation] + 1;             left += leftPos;             foundData = [data substringWithRange: NSMakeRange(left,(right - left) - 1)];         return foundData; }

然后叫它

foundData = [self getDataBetweenFromString:data leftString:@"user logged (" rightString:@"attempts)" leftOffset:13];

leftOffset是左字符串的字符数

可能是一个更简单的清洁方式,但这是我的解决方案。

总结

以上是内存溢出为你收集整理的objective-c – 如何使用NSScanner?全部内容,希望文章能够帮你解决objective-c – 如何使用NSScanner?所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存