1
我想獲得包含百分比值的NSString
的子字符串。如何從NSString獲取百分比 - 目標C
例如: 1.獲得該商品的10%優惠。 2.購買此產品可享受55折優惠。
函數應該分別返回10%和55%。
我在Java中\\d+%
使用正則表達式,我不知道該怎麼做同樣的目標C。 我已經搜查過它,但我有點迷路。
我想獲得包含百分比值的NSString
的子字符串。如何從NSString獲取百分比 - 目標C
例如: 1.獲得該商品的10%優惠。 2.購買此產品可享受55折優惠。
函數應該分別返回10%和55%。
我在Java中\\d+%
使用正則表達式,我不知道該怎麼做同樣的目標C。 我已經搜查過它,但我有點迷路。
你應該能夠使用NSRegularExpression執行你在java中使用的相同的正則表達式。這裏有一個很好的NSRegularExpression教程。
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,因此您可以獲取匹配的子字符串。
是的,我認爲一樣多,但由於某種原因我得到一個NSRangeException。 –
編輯我的答案,包括代碼。 –
啊,那就是了。我沒有檢查結果。謝謝喬爾。 –