1

我有很多 NSString 看起来像这样:

@"this is the content. The content of this string may vary, as well as the length, and my include any characters, with numbers Y = 295.000000 X = 207.500000"

Y = 295.000000 X = 207.500000 部分始终保持不变,但 X 和 Y 数字可能会发生变化。

我需要以某种方式获取这些数字并执行以下操作:

coordsFinal.x = 295.000000;
coordsFinal.y = 207.500000;

其格式为:

coordsFinal.x = [NSString stringWithFormat: @"%@", trimmed string];

有任何想法吗??

4

2 回答 2

5

您可以使用正则表达式来提取数字:

NSString *string = ...; // Your string
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"Y = (\\d+.\\d+) X = (\\d+.\\d+)" options:0 error:NULL];
NSTextCheckingResult *match = [regex firstMatchInString:string options:0 range:NSMakeRange(0, [string length])];
if (match) {
    NSRange yRange = [match rangeAtIndex:1];
    NSString *yString = [string substringWithRange:yRange];
    NSRange xRange = [match rangeAtIndex:2];
    NSString *xString = [string substringWithRange:xRange];

    NSLog(@"X = %@, Y = %@", xString, yString);
}

输出:

X = 207.500000, Y = 295.000000
于 2013-02-07T18:59:52.670 回答
0

您只需要以下方法来调用要修剪的字符串

 [yourstring stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]
于 2013-02-07T19:17:27.410 回答