有什么办法可以从如下所示的字符串中提取子字符串

我的真实字符串是“NS09A”或“AB455A”,但是我只希望“NS09”或“AB455”(直到原始字符串的数字部分的末尾)。

我该如何提取呢?

我看到了google搜索答案,例如使用子字符串的start和endinf部分的位置我们可以提取出来,但是这里“Alphabets + number + alphabets”的任意组合。我只需要“Alphabets + number”

最佳答案

我测试了这段代码:

   NSString *originalString = @"NS09A";

    // Intermediate
    NSString *numberString;
    NSString *numberString1;


    NSScanner *scanner = [NSScanner scannerWithString:originalString];
    NSCharacterSet *numbers = [NSCharacterSet characterSetWithCharactersInString:@"0123456789"];


    [scanner scanUpToCharactersFromSet:numbers intoString:&numberString];

    [scanner scanCharactersFromSet:numbers intoString:&numberString1];

    NSString *result=[NSString stringWithFormat:@"%@%@",numberString,numberString1];

    NSLog(@"Finally ==%@",result);

希望对您有帮助

输出
Finally ==NS09

更新:
NSString *originalString = @"kirtimali@gmail.com";

NSString *result;
NSScanner *scanner = [NSScanner scannerWithString:originalString];
NSCharacterSet *cs1 = [NSCharacterSet characterSetWithCharactersInString:@"@"];

[scanner scanUpToCharactersFromSet:cs1 intoString:&result];

NSLog(@"Finally ==%@",result);

output:
Finally ==kirtimali

关于ios - 从iOS中的字符串中提取子字符串?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17991657/

10-14 16:58
查看更多