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

问题描述 投票:0回答:1

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

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

objective-c for-loop nsstring
1个回答
0
投票

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)可以提供帮助。此外,正则表达式是一种在任何语言的任何地方都有用的技能。

© www.soinside.com 2019 - 2024. All rights reserved.