如何检查NSString中的每个字符? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何检查NSString中的每个字符? [重复]相关的知识,希望对你有一定的参考价值。

这个问题在这里已有答案:

我有一个NSString,其中包含一个数字,如9823.现在我需要迭代该字符串并根据数字打印一些语句。例如,对于数字8,我应该打印(“A”),对于数字9 :(“B”),依此类推。为了检查,我将使用switch语句,但我不知道如何遍历数字中的每个字符(同样,它是一个NSString)。在Swift我可以使用for in循环,但因为NSString不被认为是Objective-C中的数组,我不能在这里使用它,所以我想知道在for in中是否有Objective-C的替代品,可以与NSString一起使用。我只是在学习Objective-C,所以我很感激任何帮助。

答案

NSRegularExpression非常适合这里:

NSString *yourString = @"Greetings SEN 5241, LUH 3417 and THX 1138.";

NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"(\\d*?8\\d*)"
                                                                       options:kNilOptions
                                                                         error:&error];
NSAssert(!error, @"%@", error);

[regex enumerateMatchesInString:yourString
                        options:kNilOptions
                          range:NSMakeRange(0, yourString.length)
                     usingBlock:^(NSTextCheckingResult * _Nullable result, NSMatchingFlags flags, BOOL * _Nonnull stop) {
                         NSLog(@"%@", [yourString substringWithRange:result.range]);
                     }];

有一些非常好的在线正则表达式游乐场(如RegExr)可以提供帮助。此外,正则表达式是一种在任何语言的任何地方都有用的技能。

以上是关于如何检查NSString中的每个字符? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何检查字符串是否包含Swift中的另一个字符串?

如何在一定数量的字符后将 NSString 拆分为多个字符串

如何获取列表中字符串的公共前缀[重复]

如何检查字符串是不是在列表中,使用每个项目上的函数(python3)[重复]

如何检查字符串是不是已包含 Swift 中的字符 [重复]

在子字符串中拆分 NSString [重复]