2017-01-06 1 views
0

문자열에 영향을주지 않고 괄호 사이에 공백을 제거합니다 :어떻게이처럼 보이는 문자열을

내가 괄호를 제거 할

(

TEST STRING 

) 괄호 사이의 공백은 제거하지만 문자열 내의 공백은 제거하지 않습니다.

기본적으로, 나는 단지 문자열을 원한다. 나는 다듬기와 교체를 들여다 보았다. 그러나 나는 그들이 여기에 적용했다고 생각하지 않는다.

이 문제를 해결하는 방법에 대한 힌트가 있습니까?

감사

+0

물론 그들은 여기에 적용됩니다. 몇 가지 코드를 보여줍니다. 요구 사항을보다 명확하게 정의 할 수 있습니다. –

+0

'TEST STRING'을 큰 따옴표로 묶었다면 그 형식이 이전 NextStep 형식과 일치하기 때문에 문자열을 쉽게 추출 할 수 있습니다 (여전히 Terminal.app에 배열과 사전을 표시하는 데 사용됨) – vadian

답변

1

이 작동합니다 :

NSString *originalString = @"(TEST STRING)"; 
NSString *newString = [originalString stringByReplacingOccurrencesOfString:@"(" withString:@""]; 
newString = [newString stringByReplacingOccurrencesOfString:@")" withString:@""]; 
+0

/agree ... 'NSPropertyListSerialization'을 사용하여 문자열을 쉽게 추출 할 수 있습니다. 그의 솔루션은 항상 공간이 있다는 것을 알고있는 한 읽기가 쉽습니다. –

1

나는 것 (NSRegularExpressionSearch | NSAnchoredSearch) 사용을 고려해이 같은 뭔가를 (내가 즉석에서 코드를 쓰고 있어요 그것 때문에 아마 올바른

.
NSRange rng = [myString rangeOfString:@"([ \t\n\r]*" options:(NSRegularExpressionSearch | NSAnchoredSearch)]; 
    NSRange rng = [myString rangeOfString:@"[ \t\n\r]*)" options:(NSRegularExpressionSearch | NSAnchoredSearch | NSBackWardsSearch)]; 
    if (rng.length && rng2.length) 
    { 
    myString = [myString substringToIndex:rng2.location]; 
    myString = [myString substringFromIndex:rng.location]; 
    } 
1

제()

제거3210

공백을 삭제하십시오.

string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
0
NSCharacterSet *unwantedChar = [NSCharacterSet characterSetWithCharactersInString:@" "@"\"-[}()\n "]; 
NSString *requiredString = [[string componentsSeparatedByCharactersInSet:unwantedChar] componentsJoinedByString: @""]; 
+0

이 코드는 문제를 해결할 수 있지만 설명을 추가하면 op가 작동하는 이유/방법을 이해하는 데 도움이됩니다. – BDL

+0

여기에 필요한 설명이 없다고 생각합니다.이 줄을 보면 우리는 그것이 어떻게 작동하는지 이해하게됩니다 ... –

관련 문제