2014-05-19 1 views
0

단지 숫자에 괄호를 제거 할 수 있지만 기본적으로 나는로부터 갈 문자열을 싶습니다, 나는 당신이 이것을 달성하기 위해 정규식을 사용할 필요가 거라고 상상

일부 텍스트 (123)

옛 성은 것

일부 텍스트

그러나 :

에 같은 문자열을 유지하려면 Other text (Mixed123)과 같은 문자열.

이 코드의 외관은 어떻습니까? 미리 감사드립니다!

+0

어쩌면 정규식? –

+1

NSScanner가 또 다른 옵션입니다. – vikingosegundo

답변

1

이삭의 대답은 올바른 방향으로 날 지점 도움이 있지만, 궁극적으로이 일 것입니다 :

NSError *error = nil; 
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[(][0-9]+[)]" options:NSRegularExpressionCaseInsensitive error:&error]; 
name = [regex stringByReplacingMatchesInString:STRING options:0 range:NSMakeRange(0, [STRING length]) withTemplate:@""]; 
0

다음은 NSRegularExpression 클래스를 사용하는 예입니다. 이를 실행하기위한 코드는 비교적 간단합니다. 그러나, 나의 정규식 기술은 나의 가장 강한 소송이 아니므로, 나는 표현이 옳았기를 바란다. 희망이 도움이됩니다.

NSString *string = @"Some text (123)"; 
NSError *error; 
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\([0-9]+\)" 
                     options:NSRegularExpressionCaseInsensitive 
                     error:&error]; 

if (error) 
{ 
    // Match failed, handle this. 
} 

NSArray *matches = [regex matchesInString:string 
            options:0 
            range:NSMakeRange(0, [string length])]; 
for (NSTextCheckingResult *match in matches) 
{ 
    NSRange *matchRange = [match range]; 
    string = [string stringByReplacingCharactersInRange:matchRange withString:@""]; 
} 
+0

귀하의 대답은 올바른 방향으로 나를 도와주었습니다. 그러나 제게 도움이 된 코드로 답을 추가했습니다. –

+0

도와 드리겠습니다. 나는 그 방법을 깨닫지 못했다. 그것을 능숙하게 단순화시킨다. –

관련 문제