0

考虑这段代码:

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);

在这里,如果我characterSetWithCharactersInString:在同一个NSString对象上使用trimmedString,我之前的whitespace修剪效果会被删除..

我的问题是,

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

4

2 回答 2

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];
于 2011-09-14T13:09:25.517 回答
1

问题不是因为字符集。这是因为您aString在第二次修剪字符串时使用。你应该trimmedString改用。您的代码应如下所示,

trimmedString = [trimmedString stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@"string"]];
于 2011-09-14T13:10:03.413 回答