2016-10-05 3 views
1

백분율 값을 포함하는 NSString에 대한 부분 문자열을 얻고 싶습니다.NSString에서 백분율을 얻는 방법 - 목표 C

예 : 1.이 항목을 10 % 할인 받으세요. 2. 구입시 55 % 할인.

함수는 각각 10 %와 55 %를 반환해야합니다. 나는 자바 \\d+%

에서 정규식을 사용하고

나는 목표 C에서 동일한 작업을 수행하는 방법을 모르겠어요. 나는 그것을 찾았지만 나는 약간 길을 잃었다.

답변

2

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가 포함되어 있습니다.

+0

예 제가 생각하기에 NSRangeException이 발생하는 이유는 무엇입니까? –

+0

코드를 포함하도록 내 대답을 편집했습니다. –

+0

아, 그랬어요. 나는 그 결과를 확인하지 않고 있었다. 조엘 감사합니다. –

관련 문제