2012-12-20 103 views
1

我有一個字符串,如:刪除最後一個 「/」 從字符串中的iPhone SDK

http://feedproxy.google.com/~r/MakePartsFast/~3/1dZEOLADapg/

我想要使用這個字符串來加載HTML頁面。但由於「/」最後在字符串中,我得到的URL爲空。

我的代碼如下:

NSURL *ur=[NSURL URLWithString:Mystring]; 
     NSLog(@"%@",ur); //getting null value 

    NSURLRequest *requestObj = [NSURLRequest requestWithURL:ur]; 

     NSLog(@"%@",requestObj); 

所以,如何從字符串中刪除這最後一個「/」?

+2

我真的懷疑你不能將NSString轉換爲NSURL只是因爲末尾有'/'。 –

+0

您可以添加另一個NSLog來查看「Mystring」的值是什麼? – tom

回答

3

試試這個代碼...

NSString *Mystring = @"http://feedproxy.google.com/~r/MakePartsFast/~3/1dZEOLADapg/"; 
    if ([Mystring isEqualToString:@""]||[Mystring isEqual:nil]) { 

     NSLog(@"\n\n String is NULL"); 
    } 
    else { 
     NSString *TempURl = [Mystring substringToIndex:[Mystring length]-1]; 

     NSString *urlstr =[TempURl stringByReplacingOccurrencesOfString:@" " withString:@""]; 
     urlstr =[urlstr stringByReplacingOccurrencesOfString:@"\n" withString:@""]; 

     urlstr =[urlstr stringByReplacingOccurrencesOfString:@"\t" withString:@""]; 
     [urlstr retain]; 

     NSURL *ur=[NSURL URLWithString:urlstr]; 
     NSLog(@"%@",ur); //now get string value here 

     //  NSURLRequest *requestObj = [NSURLRequest requestWithURL:ur]; 
     //   
     //  NSLog(@"%@",requestObj); 
    } 

我得到的日誌輸出:http://feedproxy.google.com/~r/MakePartsFast/~3/1dZEOLADapg

希望這可以幫助你...

+0

@ user1673099試試這個代碼,我現在試試它的傢伙..在這裏我得到了與網址夥計日誌.. –

+0

@ user1673099試試這個傢伙?其工作很好的傢伙.. :) –

+0

對不起,但我得到相同的字符串與「/」。 – user1673099

9

您確定這是因爲最近的'/'?難道這是因爲中間的'~'角色?

無論怎樣,要檢查的最後一個字符,簡單地做

unichar last = [urlString characterAtIndex:urlString.length - 1]; 
if (last == '/') 
    urlString = [urlString substringToIndex:urlString.length - 1]; 
+0

是的,我相信這是因爲'/'。我也嘗試你的代碼,但條件不滿足。 – user1673099

+0

我是否錯過了一些東西,或者這不會在空字符串(長度= 0)上崩潰? – Till

1

我認爲你需要編碼像字符串:

NSString *encodedString = [Mystring stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; 
+0

我在編碼後得到相同的字符串。 – user1673099

+0

編碼之後,它應該是安全的使用它 –

+0

等待,我正在嘗試你的代碼 – user1673099

0

嘗試這可能會幫助你

NSString * [email protected]"http://feedproxy.google.com/~r/MakePartsFast/~3/1dZEOLADapg/"; 
[alfa substringToIndex:alfa.length-1]; 
1

如果您確定需要在每種情況下從字符串中刪除最後一個字符,則可以將newString作爲

NSString *newString = [oldString substringToIndex:[oldString length]-1]; 
+0

如果oldString是空的,這將崩潰 –

+0

@RolandKeesom它可以很容易地解決條件'if([oldString長度]> 0){NSString * newString = [oldString substringToIndex:[oldString長度] -1]; }' –

相關問題