如何从字符串中提取数值?

isc*_*ers 3 objective-c phone-number nsstring ios

是否可以从字符串中提取数字.例如,我有一个字符串:

my name is shishir and my number is 98890876478
Run Code Online (Sandbox Code Playgroud)

我可以98890876478从上面的字符串中提取吗?

或者如果我的字符串是:

my name is shishir and my number is XXX98890876478XXX
Run Code Online (Sandbox Code Playgroud)

在这种情况下,我可以提取"98890876478",它位于XXX之间.

是否有可能做到这一点?

我从服务器收到一条消息,该消息应该是上面的格式,我需要数值才能进一步操作

编辑:

这是我正在尝试使用的代码:

NSString *logString = [NSString stringWithFormat:@"%@",theXML]; 
NSString *digits = [logString stringByTrimmingCharactersInSet:[[NSCharacterSet decimalDigitCharacterSet] invertedSet]]; 
NSLog(@"Message id: %i", [digits intValue]);
Run Code Online (Sandbox Code Playgroud)

哪个输出:

2010-05-21 16:37:07.092 sms[5311:207] OK: message-ID XXX110103468XXX
2010-05-21 16:37:07.851 sms[5311:207] Message id: 2
Run Code Online (Sandbox Code Playgroud)

我认为它返回两个因为size == 2.我需要检索"XXX"之间的值.

And*_*rsK 7

我认为你需要的是NSScanner,这允许你取出部分字符串.

例如

int n;
NSScanner * scanner = [[NSScanner alloc] initWithString:@"Your string 1234"];
[scanner scanInt:&n];
Run Code Online (Sandbox Code Playgroud)