我想获得包含百分比值的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,因此您可以获取匹配的子字符串。