2011-09-14 20 views
0

考虑以下代码:是否有可能为同一个NSString使用多个NSCharacterSet对象?

NSString *aString = @"\tThis is a sample string"; 
NSString *trimmedString = [aString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]]; 
NSLog(@"The trimmed string: %@",trimmedString); 
trimmedString = [aString stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"string"]]; 
NSLog(@"The trimmed string: %@",trimmedString); 

这里,如果我同NSString对象trimmedString上使用characterSetWithCharactersInString:,我以前whitespace微调效果被移除..

我的问题是,

是否有可能使用多个NSCharacterSet对象相同NSString ??? 或建议我一些其他的方式来做到这一点请,但NSString对象应该是这个同一个..

回答

1

问题是因为字符集不。因为你在使用aString而第二次修剪字符串。您应该改用trimmedString。你的代码应该是什么样子,

trimmedString = [trimmedString stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"string"]]; 
+0

作为一个变体=) – Nekto

+0

@EmptyStack:是的,正确的..我用'trimmedString'在第二行替换'aString'..它的工作..谢谢你.. – ramgandhi

1

什么:

NSString *aString = @"\tThis is a sample string"; 
NSMutableCharacterSet *customSet = [[NSMutableCharacterSet alloc] init]; 
[customSet formUnionWithCharacterSet:[NSCharacterSet whitespaceCharacterSet]]; 
[customSet addCharactersInString:@"string"]; 
NSString *trimmedString = [aString stringByTrimmingCharactersInSet:customSet]; 
[customSet release]; 
+0

尼斯Nekto ..但是笏EmptyStack告诉更为简单..感谢您的回答:) – ramgandhi

+0

我只问你的问题'是否有可能使用一个以上的NSCharacterSet对象相同的NSString ???'。我没有在你的代码中搜索错误=) – Nekto

+0

错误!为什么??? – ramgandhi

相关问题