gpt4 book ai didi

ios - 在 Objective-C 中扫描数字

转载 作者:行者123 更新时间:2023-11-28 18:08:43 25 4
gpt4 key购买 nike

我想知道我怎么能找到如下所有数字。

输入

NSString* input = @ "1m3s"

期望的输出

@[@"1" @"3"]

我试过下面的方法

NSArray *arr = [input componentsSeparatedByCharactersInSet:
[NSCharacterSet characterSetWithCharactersInString:@"ms"]];

它返回了我

@[@"1",@"3",@"@"]

有没有更好的方法来解决这个问题,有什么建议吗?

尽管这个问题已被标记为重复,但我已经测试了以下 answer但没有用。

更新

这可以是任何字符串值。

如果输入是 @"11m32s"@11m32 那么期望的输出将是 @[@"11", @"32"];

如果输入是 @"11x32"@11x32y 那么期望的输出将是 @[@"11", @"32"];

最佳答案

使用 NSScanner 还可以扫描 float 。此外,您的数组直接使用 NSNumber 而不是 NSString 填充。

NSString * input = @ "12m32s";
NSScanner * aScanner = [NSScanner scannerWithString:input];
NSInteger aInt;
NSMutableArray * result = [NSMutableArray array];
while (!aScanner.isAtEnd)
{
if ([aScanner scanInteger:&aInt])
{
[result addObject:@(aInt)];
}
if (!aScanner.isAtEnd)
{
aScanner.scanLocation += 1;
}
}
NSLog(@"%@",result);

关于ios - 在 Objective-C 中扫描数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45024940/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com