2012-05-03 3 views
1

K90wuRcDX43cqDB7xkjReuzb\/nDaC0xc7Bqxi4Ft0T6EscKzEBXBJ6k8fFLl6j0S 문자열에서 백 슬래시를 바꾸는 데 문제가 있습니다.(iOS) 문자열에서 백 슬래시를 이스케이프하는 중 오류가 발생했습니다.

내가 수동으로 문자열에서 백 슬래시를 이스케이프 경우 내가 문제를

NSString *mytoken = @"K90wuRcDX43cqDB7xkjReuzb\\/nDaC0xc7Bqxi4Ft0T6EscKzEBXBJ6k8fFLl6j0S"; 
NSLog(@"mytoken %@",mytoken); 
    mytoken K90wuRcDX43cqDB7xkjReuzb\/nDaC0xc7Bqxi4Ft0T6EscKzEBXBJ6k8fFLl6j0S 

이 없다하지만 프로그래밍을 수행하려고하면 나는 (나는 모든 것을 시도 백 슬래시를 벗어날 수 없다 : CFString, stringByReplacingOccurrencesOfString, replaceOccurrencesOfString)

NSMutableString *mytokenOrig = [NSMutableString stringWithFormat:@"K90wuRcDX43cqDB7xkjReuzb\/nDaC0xc7Bqxi4Ft0T6EscKzEBXBJ6k8fFLl6j0S"]; 
[mytokenOrig replaceOccurrencesOfString:@"\\" withString:@"\\\\" options:NSCaseInsensitiveSearch range:(NSRange){0,[mytokenOrig length]}]; 
NSLog(@"mytokenOrig %@",mytokenOrig); 

mytokenOrig K90wuRcDX43cqDB7xkjReuzb/ 
nDaC0xc7Bqxi4Ft0T6EscKzEBXBJ6k8fFLl6j0S 

참고 : 나는 문자열이 토큰을 추가하고 해시를 계산하는, 그래서 그것이 작동되도록하는 것이 중요합니다.

답변

0

mytokenOrig에는 백 슬래시가 없으므로 이미 이스케이프 된 개행을 포함하고 있습니다.

[mytokenOrig replaceOccurrencesOfString:@"\n" withString:@"\\n" options:NSCaseInsensitiveSearch range:(NSRange){0,[mytokenOrig length]}]; 


그러나, 당신은 (재) 문자열을 이스케이프 할 필요가 없습니다. Escape characters은 코드에 특수 문자를 쓸 수 있도록하기위한 것입니다.

관련 문제