2011-05-06 134 views
1

为什么会这样:的NSString stringWithFormat自行添加一个换行符

NSString *url = [NSString stringWithFormat:@"http://www.example.com/profile/%@/?s_iphone=true", author]; 
NSLog(@"url: %@", url); 

输出这样的:

http://www.example.com/profile/AuthorName 
      /?s_iphone=true 

毋庸置疑的URL将不会加载B/C有一个新行添加到字符串本身。我试过删除whitesapces/newlines,仍然有相同的输出。这让我疯狂。

马特

+1

您是否在上面的代码被调用之前检查了'author'来查看换行符是否存在? – matthias 2011-05-06 18:25:52

+0

谢谢,忘了考虑一下。 – MattDice 2011-05-06 18:35:43

回答

3

试试这个 -

NSString *url = [NSString stringWithFormat:@"http://www.example.com/profile/%@/?s_iphone=true", [author stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]]; 
NSLog(@"url: %@", url); 

它会在你author字符串的开头和结尾修复任何新行字符。

+0

谢谢,我有一个自定义的方法只是为了这个目的和一些额外的,我跑过去,并解决了我的问题。有时候只是不清楚。 – MattDice 2011-05-06 18:42:35

0

作者肯定有一个新的行。试试这个:

NSLog(@"The author is %@ on a new line?", author);

+0

是的,奇怪我的方法来删除换行符并没有在整个字符串上工作,但只能在变量上工作。作者是从XML中提取的一个字符串,在最后确实有令人讨厌的换行符。谢谢。 – MattDice 2011-05-06 18:35:13