如何检查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中的每个字符? [重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何在一定数量的字符后将 NSString 拆分为多个字符串