有什么办法可以从如下所示的字符串中提取子字符串
我的真实字符串是“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/