ios - 检查字符串是否包含大于

标签 ios objective-c

我有以下 NSString:

NSString *testString=@"megaUser 35 youLost 85 noob 10 showTime 36 pwn 110"

我想知道这个字符串是否包含大于 80 的数字。我不需要知道实际数字在哪里、有多少或什么,而只是一个 bool 值(是或否)。我考虑过对字符串进行正则表达式以从中删除除数字以外的所有内容,但在那之后我不确定进行检查的有效方法是什么。

换句话说,是否有一种解决方案不需要将字符串分解为数组组件,然后一次检查一个?如果有人知道如何做到这一点,请告诉我!

谢谢!

最佳答案

您可以为此使用扫描仪:

// The string to parse
NSString *testString=@"megaUser 35 youLost 85 noob 10 showTime 36 pwn 110";

// Create a new scanner for this string and tell it to skip everything but numbers
NSScanner *scanner = [[NSScanner alloc] initWithString:testString];
NSCharacterSet *nonNumbers = [[NSCharacterSet decimalDigitCharacterSet] invertedSet];
[scanner setCharactersToBeSkipped:nonNumbers];

// Scan integers until we get to the end of the string
// If you will have numbers larger than int, you can use long long and scanLongLong for larger numbers
int largestNumber = 0, currentNumber = 0;
while ([scanner scanInt:&currentNumber] == YES)
{
    if (currentNumber > largestNumber)
        largestNumber = currentNumber;
}

// See if the number is larger than 80
if (largestNumber > 80)
    return YES;

// Nope
return NO;

关于ios - 检查字符串是否包含大于,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17498112/

相关文章:

ios - 在 Objective-C 中,如何在 View Controller 中的函数之间共享数据?

ios核心音频: modifying aurioTouch to save pcm data

ios - iPhone应用程序类 View 问题

ios - iOS 中密码字段的字母数字验证

ios - 动画时 CALayer 变换不同

ios - 删除特定字符后的空格

objective-c - 有没有办法打印 SEL Action ?

ios - 从单元格 Collection View 中的点击中放松

ios - 如何在 iOS 中显示来自 Sqlite 表的不同值?

包括 SSID 在内的 wifi 连接的 IOS 通知