2013-08-28 3 views
1

URL 요청을로드하고 싶지만 URL에 원하는 문자가 없습니다 (원격 위치에서 URL을 가져 오는 중이므로 소스를 변경할 수 없습니다).NSString에서 이러한 문자를 제거하는 방법

NSString *link = [[notification userInfo] valueForKey:@"link"]; 
link = [link stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 

NSLog(@"Requesting Link: %@",link); /* see below for output */ 
NSURL *url = [NSURL URLWithString:link]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

[self.theWebView loadRequest:request]; 

콘솔이 같은 NSLog 출력을 보여줍니다

%0A%09%09%09http://192.168.0... 

loadRequest 아무것도하지 않고는 NSURL 밤은 제대로 인코딩 있기 때문에,하지만 내가하지는 미안 확인 그것을 수정하는 방법을 알고, 그 문자를 제거하는 방법을 모르겠다는 뜻. 도움을 주시면 감사하겠습니다.

편집 : 원시 문자열 (LINEBREAK 공간) : 당신은 인코딩하지만 문자열을 디코딩 할 필요가

Requesting Link: 
     http://192.168.0... 
+0

그게 가치가있어, 그건 라인 피드와 3 탭이야. –

+0

원시 문자열은 어떤 모양입니까? – Abizern

+0

'stringByAddingPercentEscapesUsingEncoding :'실제로 그들을 추가하지 않습니까? 그 전에 보이는 링크가 뭐죠? –

답변

2

에서 줄 바꿈과 탭 문자가 당신의 URL 앞에 문자열. 그 트림 :

NSString *link = [[notification userInfo] valueForKey:@"link"]; 
link = [link stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; 
NSURL *url = [NSURL URLWithString:link]; 
+0

정확히 내가 무엇을 찾고 있었습니까, 고마워요! – dan

0

이 시도 :

NSString *decoded = [link stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
0

들을 트림

link = [link stringByTrimmingCharactersInSet: [NSCharacterSet whitespaceCharacterSet]]; 
0

사용이

[링크 stringByRemovingPercentEncoding]을 사용하여 인코딩하기 전에;

관련 문제