如何从NSString中获取百分比-目标C



我想获得包含百分比值的NSString的子字符串。

例如

:1. 这件商品打九折。2. 如果您购买这个,可以打55折。

函数应该分别返回10%和55%

我在Java \d+%中使用正则表达式

我不知道如何在objective c中做同样的事情。

你应该能够使用nsregulareexpression来执行你在java中使用的相同的正则表达式。这里有一个关于nsregulareexpression的很好的教程。

https://www.raywenderlich.com/30288/nsregularexpression-tutorial-and-cheat-sheet

我可以用下面的代码完成它:

NSString *string = @"10% off with this item";
NSError *error = nil;
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\d+%" options:0 error:&error];
NSTextCheckingResult *result = [regex firstMatchInString:string options:0 range:NSMakeRange(0, [string length])];
NSString *substring = [string substringWithRange:result.range];

NSLog(@"%@", substring); // 10%

关键是在TextCheckingResult。它包含原始字符串中匹配的NSRange,因此您可以获取匹配的子字符串。

最新更新