从NSString中删除除一个字符之外的所有字符的实例

时间:2011-12-08 18:05:15

标签: objective-c nsstring instance

我有一个动态的NSString并且不断变化。我需要使用NSString并用@“”替换其中每个字符的出现,除了字符串@“\ n”

所以,如果我有 NSString *string = @"This is my string at 10:00PM\n I hate this string\n"; 所以如果我删除除\ n之外的所有内容,用@“”替换所有内容并用\ n替换\ n出现次数,最后我的新字符串将是11,因为有两次出现。字符串也可以包含任何存在的字符,因此除了\ n。

之外,它还需要删除所有字符

我怎么能这样做?

2 个答案:

答案 0 :(得分:1)

如果你想要一个更方便,虽然稍微更省内存的解决方案:

NSUInteger numNewlines = [[string componentsSeparatedByString:@"\n"] count] - 1;
NSMutableString *ones = [[NSMutableString alloc] initWithCapacity:numNewlines];
for (int i = 0; i < numNewLines; i++) {
    [ones appendString:@"1"];
}

答案 1 :(得分:0)

我认为做

之类的事情更容易
NSString *newString = @"";
for(int i=0;i<[string length]; i++) 
    if([string characterAtIndex:i]=='\n')
        newString = [newString stringByAppendingString:@"1"];

string = newString;